<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GrPPI: grppi Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.svg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">GrPPI
   &#160;<span id="projectnumber">0.2</span>
   </div>
   <div id="projectbrief">Generic and Reusable Parallel Pattern Interface</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
      <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">grppi Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacegrppi_1_1internal"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrppi_1_1internal.html">internal</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrppi_1_1is__iterator.html">is_iterator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrppi_1_1is__iterator_3_01_t_00_01typename_01std_1_1enable__if_3_9std_1_1is__same_3_01type74b883ff4fa84eab55321ea75e17e1dc.html">is_iterator&lt; T, typename std::enable_if&lt;!std::is_same&lt; typename std::iterator_traits&lt; T &gt;::value_type, void &gt;::value &gt;::type &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1mpmc__queue.html">mpmc_queue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1native__thread__manager.html">native_thread_manager</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII class to manage registration/deregistration pairs. This class allows to manage automatic deregistration of threads through the common RAII pattern. The current thread is registered into the registry at construction and deregistered a destruction.  <a href="classgrppi_1_1native__thread__manager.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Native parallel execution policy. This policy uses ISO C++ threads as implementation building block allowing usage in any ISO C++ compliant platform.  <a href="classgrppi_1_1parallel__execution__native.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenMP parallel execution policy.  <a href="classgrppi_1_1parallel__execution__omp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">TBB parallel execution policy.  <a href="classgrppi_1_1parallel__execution__tbb.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequential execution policy.  <a href="classgrppi_1_1sequential__execution.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1thread__pool.html">thread_pool</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrppi_1_1thread__registry.html">thread_registry</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread index table to provide portable natural thread indices.  <a href="classgrppi_1_1thread__registry.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aecef6e7d3973be5c5678422b30dba5ce"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:aecef6e7d3973be5c5678422b30dba5ce"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aecef6e7d3973be5c5678422b30dba5ce">requires_no_arguments</a> = typename std::enable_if_t&lt;!<a class="el" href="namespacegrppi_1_1internal.html#a830d6dbae17c03ceb5baed4b1155dec7">internal::has_arguments</a>&lt; F &gt;(), int &gt;</td></tr>
<tr class="separator:aecef6e7d3973be5c5678422b30dba5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa953140c899760e8975a238af6f3443d"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:aa953140c899760e8975a238af6f3443d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aa953140c899760e8975a238af6f3443d">requires_arguments</a> = typename std::enable_if_t&lt; <a class="el" href="namespacegrppi_1_1internal.html#a830d6dbae17c03ceb5baed4b1155dec7">internal::has_arguments</a>&lt; F &gt;(), int &gt;</td></tr>
<tr class="separator:aa953140c899760e8975a238af6f3443d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a010bbfca0375c837274a79494ea2162d"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a010bbfca0375c837274a79494ea2162d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a010bbfca0375c837274a79494ea2162d">requires_execution_policy</a> = std::enable_if_t&lt; <a class="el" href="namespacegrppi.html#ab5283566cb0405275f53062a0b905634">is_execution_policy</a>&lt; E &gt;(), int &gt;</td></tr>
<tr class="memdesc:a010bbfca0375c837274a79494ea2162d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simulate concept requirement for being an execution policy.  <a href="#a010bbfca0375c837274a79494ea2162d">More...</a><br /></td></tr>
<tr class="separator:a010bbfca0375c837274a79494ea2162d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99d34f024fd79a1f2fb41ea9c780df2b"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a99d34f024fd79a1f2fb41ea9c780df2b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a99d34f024fd79a1f2fb41ea9c780df2b">requires_not_execution_policy</a> = std::enable_if_t&lt;!<a class="el" href="namespacegrppi.html#ab5283566cb0405275f53062a0b905634">is_execution_policy</a>&lt; E &gt;(), int &gt;</td></tr>
<tr class="memdesc:a99d34f024fd79a1f2fb41ea9c780df2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simulate concept requirement for not being an execution policy.  <a href="#a99d34f024fd79a1f2fb41ea9c780df2b">More...</a><br /></td></tr>
<tr class="separator:a99d34f024fd79a1f2fb41ea9c780df2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aa0514650a765d4853343655e7588662b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aa0514650a765d4853343655e7588662b">queue_mode</a> { <a class="el" href="namespacegrppi.html#aa0514650a765d4853343655e7588662bac6235a845472fa847daf07edbbf5fa18">queue_mode::lockfree</a> = true, 
<a class="el" href="namespacegrppi.html#aa0514650a765d4853343655e7588662ba14343966a1d7dce7526e57cf2206d19d">queue_mode::blocking</a> = false
 }</td></tr>
<tr class="separator:aa0514650a765d4853343655e7588662b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6222cb3c656980019f3e0365a475f1be"><td class="memTemplParams" colspan="2">template&lt;typename... InputIt&gt; </td></tr>
<tr class="memitem:a6222cb3c656980019f3e0365a475f1be"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a6222cb3c656980019f3e0365a475f1be">advance_iterators</a> (size_t delta, InputIt &amp;...in)</td></tr>
<tr class="separator:a6222cb3c656980019f3e0365a475f1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d500b81465422886fbbeb812a32c603"><td class="memTemplParams" colspan="2">template&lt;typename... InputIt&gt; </td></tr>
<tr class="memitem:a9d500b81465422886fbbeb812a32c603"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9d500b81465422886fbbeb812a32c603">advance_iterators</a> (InputIt &amp;...in)</td></tr>
<tr class="separator:a9d500b81465422886fbbeb812a32c603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26bdb7c1b6c3d4bedbcfc1774d00833c"><td class="memTemplParams" colspan="2">template&lt;typename Execution , typename Transformer &gt; </td></tr>
<tr class="memitem:ga26bdb7c1b6c3d4bedbcfc1774d00833c"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern.html#ga26bdb7c1b6c3d4bedbcfc1774d00833c">farm</a> (Execution &amp;ex, Transformer &amp;&amp;transform_op)</td></tr>
<tr class="memdesc:ga26bdb7c1b6c3d4bedbcfc1774d00833c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream that can be composed in other streaming patterns.  <a href="group__farm__pattern.html#ga26bdb7c1b6c3d4bedbcfc1774d00833c">More...</a><br /></td></tr>
<tr class="separator:ga26bdb7c1b6c3d4bedbcfc1774d00833c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae820a6fafaefa61ab6db56187630638a"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:ae820a6fafaefa61ab6db56187630638a"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ae820a6fafaefa61ab6db56187630638a">internal_divide_conquer</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;p, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op, std::atomic&lt; int &gt; &amp;num_threads)</td></tr>
<tr class="separator:ae820a6fafaefa61ab6db56187630638a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fb7f707091b7f3a2c7df220f99760d2"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:ga1fb7f707091b7f3a2c7df220f99760d2"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__divide__conquer__pattern__native.html#ga1fb7f707091b7f3a2c7df220f99760d2">divide_conquer</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Input &amp;problem, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga1fb7f707091b7f3a2c7df220f99760d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_divide-conquer.html">Divide/conquer pattern</a> with native parallel execution.  <a href="group__divide__conquer__pattern__native.html#ga1fb7f707091b7f3a2c7df220f99760d2">More...</a><br /></td></tr>
<tr class="separator:ga1fb7f707091b7f3a2c7df220f99760d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b65fab8b478d7403f32be8a6d2e17ba"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Consumer &gt; </td></tr>
<tr class="memitem:ga0b65fab8b478d7403f32be8a6d2e17ba"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__native.html#ga0b65fab8b478d7403f32be8a6d2e17ba">farm</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator generate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga0b65fab8b478d7403f32be8a6d2e17ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with native parallel execution with a generator and a consumer.  <a href="group__farm__pattern__native.html#ga0b65fab8b478d7403f32be8a6d2e17ba">More...</a><br /></td></tr>
<tr class="separator:ga0b65fab8b478d7403f32be8a6d2e17ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6924f3908c815671b9a237132ea656df"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Consumer &gt; </td></tr>
<tr class="memitem:ga6924f3908c815671b9a237132ea656df"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__native.html#ga6924f3908c815671b9a237132ea656df">farm</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator generate_op, Transformer transform_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga6924f3908c815671b9a237132ea656df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with native parallel execution with a generator and a consumer.  <a href="group__farm__pattern__native.html#ga6924f3908c815671b9a237132ea656df">More...</a><br /></td></tr>
<tr class="separator:ga6924f3908c815671b9a237132ea656df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga219611f3c6719598a8810d6ea6cafe2a"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </td></tr>
<tr class="memitem:ga219611f3c6719598a8810d6ea6cafe2a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__native.html#ga219611f3c6719598a8810d6ea6cafe2a">map</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op)</td></tr>
<tr class="memdesc:ga219611f3c6719598a8810d6ea6cafe2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with native paralell execution.  <a href="group__map__pattern__native.html#ga219611f3c6719598a8810d6ea6cafe2a">More...</a><br /></td></tr>
<tr class="separator:ga219611f3c6719598a8810d6ea6cafe2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5e2585f130094ffe008b1bbf6171983"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:gac5e2585f130094ffe008b1bbf6171983"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__native.html#gac5e2585f130094ffe008b1bbf6171983">map</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op, OtherInputIts...more_inputs)</td></tr>
<tr class="memdesc:gac5e2585f130094ffe008b1bbf6171983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with native parallel execution.  <a href="group__map__pattern__native.html#gac5e2585f130094ffe008b1bbf6171983">More...</a><br /></td></tr>
<tr class="separator:gac5e2585f130094ffe008b1bbf6171983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e52d3b07cbe4ae9928f2ad607d70e46"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Result , typename Transformer , typename Combiner &gt; </td></tr>
<tr class="memitem:ga7e52d3b07cbe4ae9928f2ad607d70e46"><td class="memTemplItemLeft" align="right" valign="top">Result&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__mapreduce__pattern__native.html#ga7e52d3b07cbe4ae9928f2ad607d70e46">map_reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InputIt first, InputIt last, Result identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga7e52d3b07cbe4ae9928f2ad607d70e46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map-reduce.html">Map/reduce pattern</a> on a data sequence with native parallel execution.  <a href="group__mapreduce__pattern__native.html#ga7e52d3b07cbe4ae9928f2ad607d70e46">More...</a><br /></td></tr>
<tr class="separator:ga7e52d3b07cbe4ae9928f2ad607d70e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42fb74f9dece6623d7f01995d4adc5fe"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a42fb74f9dece6623d7f01995d4adc5fe"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a42fb74f9dece6623d7f01995d4adc5fe">is_parallel_execution_native</a> ()</td></tr>
<tr class="memdesc:a42fb74f9dece6623d7f01995d4adc5fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metafunction that determines if type E is <a class="el" href="classgrppi_1_1parallel__execution__native.html" title="Native parallel execution policy. This policy uses ISO C++ threads as implementation building block a...">parallel_execution_native</a>.  <a href="#a42fb74f9dece6623d7f01995d4adc5fe">More...</a><br /></td></tr>
<tr class="separator:a42fb74f9dece6623d7f01995d4adc5fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06dcb52b246f0cee715a28b123eeb1de"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a06dcb52b246f0cee715a28b123eeb1de"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a06dcb52b246f0cee715a28b123eeb1de">is_supported</a> ()</td></tr>
<tr class="memdesc:a06dcb52b246f0cee715a28b123eeb1de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metafunction that determines if type E is supported in the current build.  <a href="#a06dcb52b246f0cee715a28b123eeb1de">More...</a><br /></td></tr>
<tr class="separator:a06dcb52b246f0cee715a28b123eeb1de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0641c069b2aebeee3b0ac9ddd6c97ea"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ac0641c069b2aebeee3b0ac9ddd6c97ea"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ac0641c069b2aebeee3b0ac9ddd6c97ea">is_supported&lt; parallel_execution_native &gt;</a> ()</td></tr>
<tr class="memdesc:ac0641c069b2aebeee3b0ac9ddd6c97ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization stating that <a class="el" href="classgrppi_1_1parallel__execution__native.html" title="Native parallel execution policy. This policy uses ISO C++ threads as implementation building block a...">parallel_execution_native</a> is supported.  <a href="#ac0641c069b2aebeee3b0ac9ddd6c97ea">More...</a><br /></td></tr>
<tr class="separator:ac0641c069b2aebeee3b0ac9ddd6c97ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f99f5b5ff245645e9fb5fdb9861182"><td class="memTemplParams" colspan="2">template&lt;typename InQueue , typename OutQueue , int Index, typename... MoreTransformers, internal::requires_index_last&lt; Index, MoreTransformers... &gt;  = 0&gt; </td></tr>
<tr class="memitem:a94f99f5b5ff245645e9fb5fdb9861182"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a94f99f5b5ff245645e9fb5fdb9861182">composed_pipeline</a> (InQueue &amp;input_queue, const <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, MoreTransformers... &gt; &amp;pipe, OutQueue &amp;output_queue, std::vector&lt; std::thread &gt; &amp;tasks)</td></tr>
<tr class="separator:a94f99f5b5ff245645e9fb5fdb9861182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be133da07bb838c73395d1e97af2414"><td class="memTemplParams" colspan="2">template&lt;typename InQueue , typename Transformer , typename OutQueue &gt; </td></tr>
<tr class="memitem:a2be133da07bb838c73395d1e97af2414"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a2be133da07bb838c73395d1e97af2414">composed_pipeline</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, Transformer &amp;&amp;transform_op, OutQueue &amp;output_queue, std::vector&lt; std::thread &gt; &amp;tasks)</td></tr>
<tr class="separator:a2be133da07bb838c73395d1e97af2414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafdd79389d86c8837428498b46a52a11"><td class="memTemplParams" colspan="2">template&lt;typename InQueue , typename Consumer &gt; </td></tr>
<tr class="memitem:aafdd79389d86c8837428498b46a52a11"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aafdd79389d86c8837428498b46a52a11">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, Consumer &amp;&amp;consume)</td></tr>
<tr class="separator:aafdd79389d86c8837428498b46a52a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af99507760771ab5830910eb9a4e61043"><td class="memTemplParams" colspan="2">template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:af99507760771ab5830910eb9a4e61043"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#af99507760771ab5830910eb9a4e61043">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Combiner, Identity &gt; &amp;reduction_obj, MoreTransformers...more_transform_ops)</td></tr>
<tr class="separator:af99507760771ab5830910eb9a4e61043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4252dfa4ef269a4ef507e7e4ef2c687d"><td class="memTemplParams" colspan="2">template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a4252dfa4ef269a4ef507e7e4ef2c687d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a4252dfa4ef269a4ef507e7e4ef2c687d">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Combiner, Identity &gt; &amp;&amp;reduction_obj, MoreTransformers...more_transform_ops)</td></tr>
<tr class="separator:a4252dfa4ef269a4ef507e7e4ef2c687d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73e2c34e989166559e6e65b7a2bf100d"><td class="memTemplParams" colspan="2">template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a73e2c34e989166559e6e65b7a2bf100d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a73e2c34e989166559e6e65b7a2bf100d">pipeline_impl_ordered</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Combiner, Identity &gt; &amp;&amp;reduction_obj, MoreTransformers...more_transform_ops)</td></tr>
<tr class="separator:a73e2c34e989166559e6e65b7a2bf100d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cd1b360ded65ae3fcc68b5564045cb8"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a9cd1b360ded65ae3fcc68b5564045cb8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9cd1b360ded65ae3fcc68b5564045cb8">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a9cd1b360ded65ae3fcc68b5564045cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822b77fb56702543c9bbabd19af0868b"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a822b77fb56702543c9bbabd19af0868b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a822b77fb56702543c9bbabd19af0868b">pipeline_impl_ordered</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a822b77fb56702543c9bbabd19af0868b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a3adea4a352869567cc47b78cd96a46"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a4a3adea4a352869567cc47b78cd96a46"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a4a3adea4a352869567cc47b78cd96a46">pipeline_impl_unordered</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a4a3adea4a352869567cc47b78cd96a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66265bc88c8592a7bf16711836408be4"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a66265bc88c8592a7bf16711836408be4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a66265bc88c8592a7bf16711836408be4">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a66265bc88c8592a7bf16711836408be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae326459dc1f3642123866fcb9528db66"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:ae326459dc1f3642123866fcb9528db66"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ae326459dc1f3642123866fcb9528db66">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;farm_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:ae326459dc1f3642123866fcb9528db66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad018187669fd464e92ff324c948f7035"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:ad018187669fd464e92ff324c948f7035"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ad018187669fd464e92ff324c948f7035">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;p, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;farm_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:ad018187669fd464e92ff324c948f7035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dee9011b27fceac579f74b9207a0815"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a9dee9011b27fceac579f74b9207a0815"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9dee9011b27fceac579f74b9207a0815">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InQueue &amp;input_queue, Transformer &amp;&amp;transform_op, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a9dee9011b27fceac579f74b9207a0815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50396cad2879f1facd37757ea3aa564b"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename... Transformers, requires_no_arguments&lt; Generator &gt;  = 0&gt; </td></tr>
<tr class="memitem:ga50396cad2879f1facd37757ea3aa564b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__pipeline__pattern__native.html#ga50396cad2879f1facd37757ea3aa564b">pipeline</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator &amp;&amp;generate_op, Transformers &amp;&amp;...transform_ops)</td></tr>
<tr class="memdesc:ga50396cad2879f1facd37757ea3aa564b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_pipeline.html">Pipeline pattern</a> on a data stream with native parallel execution.  <a href="group__pipeline__pattern__native.html#ga50396cad2879f1facd37757ea3aa564b">More...</a><br /></td></tr>
<tr class="separator:ga50396cad2879f1facd37757ea3aa564b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3a9dc3cdb2b5165d1cc201eb0da4383"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:gad3a9dc3cdb2b5165d1cc201eb0da4383"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__reduce__pattern__native.html#gad3a9dc3cdb2b5165d1cc201eb0da4383">reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:gad3a9dc3cdb2b5165d1cc201eb0da4383"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_reduce.html">Reduce pattern</a> with identity value on a data sequence with parallel native execution.  <a href="group__reduce__pattern__native.html#gad3a9dc3cdb2b5165d1cc201eb0da4383">More...</a><br /></td></tr>
<tr class="separator:gad3a9dc3cdb2b5165d1cc201eb0da4383"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c11627ced8c65f6cf4a67fdb4869d3d"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </td></tr>
<tr class="memitem:ga4c11627ced8c65f6cf4a67fdb4869d3d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__native.html#ga4c11627ced8c65f6cf4a67fdb4869d3d">stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op)</td></tr>
<tr class="memdesc:ga4c11627ced8c65f6cf4a67fdb4869d3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on a data sequence with native parallel execution.  <a href="group__stencil__pattern__native.html#ga4c11627ced8c65f6cf4a67fdb4869d3d">More...</a><br /></td></tr>
<tr class="separator:ga4c11627ced8c65f6cf4a67fdb4869d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d39d502db42d5832e76be7d99240edc"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:ga4d39d502db42d5832e76be7d99240edc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__native.html#ga4d39d502db42d5832e76be7d99240edc">stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts)</td></tr>
<tr class="memdesc:ga4d39d502db42d5832e76be7d99240edc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on multiple data sequences with native parallel execution.  <a href="group__stencil__pattern__native.html#ga4d39d502db42d5832e76be7d99240edc">More...</a><br /></td></tr>
<tr class="separator:ga4d39d502db42d5832e76be7d99240edc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ea538ae81f00081c0553511395adbb8"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga6ea538ae81f00081c0553511395adbb8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__native.html#ga6ea538ae81f00081c0553511395adbb8">keep</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga6ea538ae81f00081c0553511395adbb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> pattern on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate.  <a href="group__filter__pattern__native.html#ga6ea538ae81f00081c0553511395adbb8">More...</a><br /></td></tr>
<tr class="separator:ga6ea538ae81f00081c0553511395adbb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga718e266f1b54510045e5efc4f1f37588"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga718e266f1b54510045e5efc4f1f37588"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__native.html#ga718e266f1b54510045e5efc4f1f37588">discard</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga718e266f1b54510045e5efc4f1f37588"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate.  <a href="group__filter__pattern__native.html#ga718e266f1b54510045e5efc4f1f37588">More...</a><br /></td></tr>
<tr class="separator:ga718e266f1b54510045e5efc4f1f37588"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf495b00aac103ff5a2d3fa708b06c5e2"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:gaf495b00aac103ff5a2d3fa708b06c5e2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__native.html#gaf495b00aac103ff5a2d3fa708b06c5e2">repeat_until</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator &amp;&amp;generate_op, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, MoreTransformers... &gt; &amp;&amp;pipe, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gaf495b00aac103ff5a2d3fa708b06c5e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with native parallel execution with a generator, a predicate, a consumer and a pipeline as a transformer.  <a href="group__stream__iteration__pattern__native.html#gaf495b00aac103ff5a2d3fa708b06c5e2">More...</a><br /></td></tr>
<tr class="separator:gaf495b00aac103ff5a2d3fa708b06c5e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfa9a55ce0ec6002d35dca0474896c81"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:gabfa9a55ce0ec6002d35dca0474896c81"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__native.html#gabfa9a55ce0ec6002d35dca0474896c81">repeat_until</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator generate_op, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;<a class="el" href="group__farm__pattern.html#ga26bdb7c1b6c3d4bedbcfc1774d00833c">farm</a>, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gabfa9a55ce0ec6002d35dca0474896c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with native parallel execution with a generator, a predicate, a consumer and a farm as a transformer.  <a href="group__stream__iteration__pattern__native.html#gabfa9a55ce0ec6002d35dca0474896c81">More...</a><br /></td></tr>
<tr class="separator:gabfa9a55ce0ec6002d35dca0474896c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade022667a830b62560739dacf46148c9"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:gade022667a830b62560739dacf46148c9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__native.html#gade022667a830b62560739dacf46148c9">repeat_until</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, Generator generate_op, Transformer transform_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gade022667a830b62560739dacf46148c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with native parallel execution with a generator, a predicate, a transformer and a consumer.  <a href="group__stream__iteration__pattern__native.html#gade022667a830b62560739dacf46148c9">More...</a><br /></td></tr>
<tr class="separator:gade022667a830b62560739dacf46148c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f3df86a6089c3420459bc93a2b7f012"><td class="memTemplParams" colspan="2">template&lt;typename Identity , typename Combiner , typename Consumer , typename Generator &gt; </td></tr>
<tr class="memitem:ga7f3df86a6089c3420459bc93a2b7f012"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__reduce__pattern__native.html#ga7f3df86a6089c3420459bc93a2b7f012">stream_reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;ex, int window_size, int offset, Identity identity, Generator &amp;&amp;generate_op, Combiner &amp;&amp;combine_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga7f3df86a6089c3420459bc93a2b7f012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-reduce.html">Stream reduction pattern</a> on a stream with native parallel execution.  <a href="group__stream__reduce__pattern__native.html#ga7f3df86a6089c3420459bc93a2b7f012">More...</a><br /></td></tr>
<tr class="separator:ga7f3df86a6089c3420459bc93a2b7f012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32d36dbd6375927e3b67a37a9f08c31d"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:a32d36dbd6375927e3b67a37a9f08c31d"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a32d36dbd6375927e3b67a37a9f08c31d">internal_divide_conquer</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op, std::atomic&lt; int &gt; &amp;num_threads)</td></tr>
<tr class="separator:a32d36dbd6375927e3b67a37a9f08c31d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e3a20eb0dccd5aacb71cee102101e16"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:ga9e3a20eb0dccd5aacb71cee102101e16"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__divide__conquer__pattern__omp.html#ga9e3a20eb0dccd5aacb71cee102101e16">divide_conquer</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga9e3a20eb0dccd5aacb71cee102101e16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_divide-conquer.html">Divide/conquer pattern</a> with OpenMP parallel execution.  <a href="group__divide__conquer__pattern__omp.html#ga9e3a20eb0dccd5aacb71cee102101e16">More...</a><br /></td></tr>
<tr class="separator:ga9e3a20eb0dccd5aacb71cee102101e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c165f2d07f15b97b29388853904b3ad"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Consumer &gt; </td></tr>
<tr class="memitem:ga5c165f2d07f15b97b29388853904b3ad"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__omp.html#ga5c165f2d07f15b97b29388853904b3ad">farm</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Generator generate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga5c165f2d07f15b97b29388853904b3ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke the <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with OpenMP parallel execution with a generator and a consumer.  <a href="group__farm__pattern__omp.html#ga5c165f2d07f15b97b29388853904b3ad">More...</a><br /></td></tr>
<tr class="separator:ga5c165f2d07f15b97b29388853904b3ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57b599776539a381b33d1ceb52a5f7d6"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Consumer &gt; </td></tr>
<tr class="memitem:ga57b599776539a381b33d1ceb52a5f7d6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__omp.html#ga57b599776539a381b33d1ceb52a5f7d6">farm</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Generator generate_op, Transformer transform_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga57b599776539a381b33d1ceb52a5f7d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke the <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with OpenMP parallel execution with a generator, a transformer, and a consumer.  <a href="group__farm__pattern__omp.html#ga57b599776539a381b33d1ceb52a5f7d6">More...</a><br /></td></tr>
<tr class="separator:ga57b599776539a381b33d1ceb52a5f7d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cd83cb2cad44d4467f7138cd01c612d"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:a9cd83cb2cad44d4467f7138cd01c612d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9cd83cb2cad44d4467f7138cd01c612d">internal_map</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op, int i, int elemperthr, OtherInputIts...more_firsts)</td></tr>
<tr class="separator:a9cd83cb2cad44d4467f7138cd01c612d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4e48f32027d524cab48555684986ab5"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </td></tr>
<tr class="memitem:gae4e48f32027d524cab48555684986ab5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__omp.html#gae4e48f32027d524cab48555684986ab5">map</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op)</td></tr>
<tr class="memdesc:gae4e48f32027d524cab48555684986ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with OpenMP parallel execution.  <a href="group__map__pattern__omp.html#gae4e48f32027d524cab48555684986ab5">More...</a><br /></td></tr>
<tr class="separator:gae4e48f32027d524cab48555684986ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18fa29a344697d52b3c845d7880bde19"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:ga18fa29a344697d52b3c845d7880bde19"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__omp.html#ga18fa29a344697d52b3c845d7880bde19">map</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op, OtherInputIts...more_firsts)</td></tr>
<tr class="memdesc:ga18fa29a344697d52b3c845d7880bde19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with OpenMP execution.  <a href="group__map__pattern__omp.html#ga18fa29a344697d52b3c845d7880bde19">More...</a><br /></td></tr>
<tr class="separator:ga18fa29a344697d52b3c845d7880bde19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89a89292c1dcdaae36d5a7f5bcfa6287"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Transformer , typename Result , typename Combiner &gt; </td></tr>
<tr class="memitem:ga89a89292c1dcdaae36d5a7f5bcfa6287"><td class="memTemplItemLeft" align="right" valign="top">Result&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__mapreduce__pattern__omp.html#ga89a89292c1dcdaae36d5a7f5bcfa6287">map_reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, Result identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga89a89292c1dcdaae36d5a7f5bcfa6287"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map-reduce.html">Map/reduce pattern</a> on a data sequence with native parallel execution.  <a href="group__mapreduce__pattern__omp.html#ga89a89292c1dcdaae36d5a7f5bcfa6287">More...</a><br /></td></tr>
<tr class="separator:ga89a89292c1dcdaae36d5a7f5bcfa6287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a684f5603ca6c249c2014e73ef5939ea1"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a684f5603ca6c249c2014e73ef5939ea1"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a684f5603ca6c249c2014e73ef5939ea1">is_parallel_execution_omp</a> ()</td></tr>
<tr class="memdesc:a684f5603ca6c249c2014e73ef5939ea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metafunction that determines if type E is <a class="el" href="classgrppi_1_1parallel__execution__omp.html" title="OpenMP parallel execution policy. ">parallel_execution_omp</a>.  <a href="#a684f5603ca6c249c2014e73ef5939ea1">More...</a><br /></td></tr>
<tr class="separator:a684f5603ca6c249c2014e73ef5939ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f58c4870491adbdbe7c3fca83981f2a"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a3f58c4870491adbdbe7c3fca83981f2a"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a3f58c4870491adbdbe7c3fca83981f2a">is_supported&lt; parallel_execution_omp &gt;</a> ()</td></tr>
<tr class="memdesc:a3f58c4870491adbdbe7c3fca83981f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization stating that <a class="el" href="classgrppi_1_1parallel__execution__omp.html" title="OpenMP parallel execution policy. ">parallel_execution_omp</a> is supported. This metafunction evaluates to false if GRPPI_OMP is enabled.  <a href="#a3f58c4870491adbdbe7c3fca83981f2a">More...</a><br /></td></tr>
<tr class="separator:a3f58c4870491adbdbe7c3fca83981f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcd00f76d9fbf0d30d02a7073b5d56f2"><td class="memTemplParams" colspan="2">template&lt;typename InQueue , typename Consumer &gt; </td></tr>
<tr class="memitem:abcd00f76d9fbf0d30d02a7073b5d56f2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#abcd00f76d9fbf0d30d02a7073b5d56f2">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="separator:abcd00f76d9fbf0d30d02a7073b5d56f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adba861084c275142a857dd59a8f41788"><td class="memTemplParams" colspan="2">template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:adba861084c275142a857dd59a8f41788"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#adba861084c275142a857dd59a8f41788">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Combiner, Identity &gt; &amp;reduction_obj, MoreTransformers...more_transform_ops)</td></tr>
<tr class="separator:adba861084c275142a857dd59a8f41788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d99c66e4fd1e36d6c681e73506279d"><td class="memTemplParams" colspan="2">template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a15d99c66e4fd1e36d6c681e73506279d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a15d99c66e4fd1e36d6c681e73506279d">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Combiner, Identity &gt; &amp;&amp;reduction_obj, MoreTransformers...more_transform_ops)</td></tr>
<tr class="separator:a15d99c66e4fd1e36d6c681e73506279d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfc41fddf351bd25243bdebd2d954797"><td class="memTemplParams" colspan="2">template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:acfc41fddf351bd25243bdebd2d954797"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#acfc41fddf351bd25243bdebd2d954797">pipeline_impl_ordered</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Combiner, Identity &gt; &amp;&amp;reduction_obj, MoreTransformers...more_transform_ops)</td></tr>
<tr class="separator:acfc41fddf351bd25243bdebd2d954797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c58bb150d28594ae3d5790f09552d86"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a6c58bb150d28594ae3d5790f09552d86"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a6c58bb150d28594ae3d5790f09552d86">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a6c58bb150d28594ae3d5790f09552d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e1eb7737dc0d4ced3640a397248b9fd"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a8e1eb7737dc0d4ced3640a397248b9fd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a8e1eb7737dc0d4ced3640a397248b9fd">pipeline_impl_ordered</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a8e1eb7737dc0d4ced3640a397248b9fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a403a75ca5102d8fc3f41874dec3f1ff1"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a403a75ca5102d8fc3f41874dec3f1ff1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a403a75ca5102d8fc3f41874dec3f1ff1">pipeline_impl_unordered</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;farm_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a403a75ca5102d8fc3f41874dec3f1ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab93eac9110547660f5e062e3bbbb7cb"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:aab93eac9110547660f5e062e3bbbb7cb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aab93eac9110547660f5e062e3bbbb7cb">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:aab93eac9110547660f5e062e3bbbb7cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3e582508248a1fed3cad84b9878dd87"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:aa3e582508248a1fed3cad84b9878dd87"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aa3e582508248a1fed3cad84b9878dd87">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;farm_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:aa3e582508248a1fed3cad84b9878dd87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb392c9c43ff1d8274fd8ac2988429f"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:afbb392c9c43ff1d8274fd8ac2988429f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#afbb392c9c43ff1d8274fd8ac2988429f">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;farm_obj, MoreTransformers &amp;&amp;...sgs)</td></tr>
<tr class="separator:afbb392c9c43ff1d8274fd8ac2988429f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeab99913eca2fdb81c153a697d9be850"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:aeab99913eca2fdb81c153a697d9be850"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aeab99913eca2fdb81c153a697d9be850">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InQueue &amp;input_queue, Transformer &amp;&amp;transform_op, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:aeab99913eca2fdb81c153a697d9be850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9ff4cf630b3bcd9e830b3afe0b50509"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename... Transformers, requires_no_arguments&lt; Generator &gt;  = 0&gt; </td></tr>
<tr class="memitem:gae9ff4cf630b3bcd9e830b3afe0b50509"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__pipeline__pattern__omp.html#gae9ff4cf630b3bcd9e830b3afe0b50509">pipeline</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Generator &amp;&amp;generate_op, Transformers &amp;&amp;...transform_ops)</td></tr>
<tr class="memdesc:gae9ff4cf630b3bcd9e830b3afe0b50509"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_pipeline.html">Pipeline pattern</a> on a data stream with OpenMP parallel execution.  <a href="group__pipeline__pattern__omp.html#gae9ff4cf630b3bcd9e830b3afe0b50509">More...</a><br /></td></tr>
<tr class="separator:gae9ff4cf630b3bcd9e830b3afe0b50509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf955c59ee34cead31a390f0866e5e599"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:gaf955c59ee34cead31a390f0866e5e599"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__reduce__pattern__omp.html#gaf955c59ee34cead31a390f0866e5e599">reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:gaf955c59ee34cead31a390f0866e5e599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_reduce.html">Reduce pattern</a> with identity value on a data sequence with parallel OpenMP execution.  <a href="group__reduce__pattern__omp.html#gaf955c59ee34cead31a390f0866e5e599">More...</a><br /></td></tr>
<tr class="separator:gaf955c59ee34cead31a390f0866e5e599"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf1f2fb0dbf24e5025cb2c3591ea64a"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:aacf1f2fb0dbf24e5025cb2c3591ea64a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aacf1f2fb0dbf24e5025cb2c3591ea64a">internal_stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, int i, int elements_per_thread, OtherInputIts...other_firsts)</td></tr>
<tr class="separator:aacf1f2fb0dbf24e5025cb2c3591ea64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9df473b5c02ddfda19c891939583c0e6"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </td></tr>
<tr class="memitem:ga9df473b5c02ddfda19c891939583c0e6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__omp.html#ga9df473b5c02ddfda19c891939583c0e6">stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op)</td></tr>
<tr class="memdesc:ga9df473b5c02ddfda19c891939583c0e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on a data sequence with OpenMP parallel execution.  <a href="group__stencil__pattern__omp.html#ga9df473b5c02ddfda19c891939583c0e6">More...</a><br /></td></tr>
<tr class="separator:ga9df473b5c02ddfda19c891939583c0e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14cda566bfb7cf6462b64a8bdb2955ab"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:ga14cda566bfb7cf6462b64a8bdb2955ab"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__omp.html#ga14cda566bfb7cf6462b64a8bdb2955ab">stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;transform_op, Neighbourhood &amp;&amp;neighbour_op, OtherInputIts...other_firsts)</td></tr>
<tr class="memdesc:ga14cda566bfb7cf6462b64a8bdb2955ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on multiple data sequences with TBB parallel execution.  <a href="group__stencil__pattern__omp.html#ga14cda566bfb7cf6462b64a8bdb2955ab">More...</a><br /></td></tr>
<tr class="separator:ga14cda566bfb7cf6462b64a8bdb2955ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9578d40f49ebd1e054ec5a3cfd2bc5fc"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga9578d40f49ebd1e054ec5a3cfd2bc5fc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__omp.html#ga9578d40f49ebd1e054ec5a3cfd2bc5fc">keep</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga9578d40f49ebd1e054ec5a3cfd2bc5fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate.  <a href="group__filter__pattern__omp.html#ga9578d40f49ebd1e054ec5a3cfd2bc5fc">More...</a><br /></td></tr>
<tr class="separator:ga9578d40f49ebd1e054ec5a3cfd2bc5fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83c9adc06f9cc03131f679212033118c"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga83c9adc06f9cc03131f679212033118c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__omp.html#ga83c9adc06f9cc03131f679212033118c">discard</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga83c9adc06f9cc03131f679212033118c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate.  <a href="group__filter__pattern__omp.html#ga83c9adc06f9cc03131f679212033118c">More...</a><br /></td></tr>
<tr class="separator:ga83c9adc06f9cc03131f679212033118c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97f5e261e53277efff6c1ad93140016c"><td class="memTemplParams" colspan="2">template&lt;typename Identity , typename Combiner , typename Consumer , typename Generator &gt; </td></tr>
<tr class="memitem:ga97f5e261e53277efff6c1ad93140016c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__reduce__pattern__omp.html#ga97f5e261e53277efff6c1ad93140016c">stream_reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;ex, int window_size, int offset, Identity identity, Generator &amp;&amp;generate_op, Combiner &amp;&amp;combine_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga97f5e261e53277efff6c1ad93140016c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-reduce.html">Stream reduction pattern</a> on a stream with OpenMP parallel execution.  <a href="group__stream__reduce__pattern__omp.html#ga97f5e261e53277efff6c1ad93140016c">More...</a><br /></td></tr>
<tr class="separator:ga97f5e261e53277efff6c1ad93140016c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01fcd444310fa66b76f8498a3119ed2f"><td class="memTemplParams" colspan="2">template&lt;typename Execution , typename Transformer , typename... MoreTransformers, requires_arguments&lt; Transformer &gt;  = 0&gt; </td></tr>
<tr class="memitem:ga01fcd444310fa66b76f8498a3119ed2f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; Execution, Transformer, MoreTransformers... &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__pipeline__pattern.html#ga01fcd444310fa66b76f8498a3119ed2f">pipeline</a> (Execution &amp;ex, Transformer &amp;&amp;transform_op, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="memdesc:ga01fcd444310fa66b76f8498a3119ed2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a composable <a class="el" href="md_pipeline.html">Pipeline pattern</a> representation that can be composed in other streaming patterns.  <a href="group__pipeline__pattern.html#ga01fcd444310fa66b76f8498a3119ed2f">More...</a><br /></td></tr>
<tr class="separator:ga01fcd444310fa66b76f8498a3119ed2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf781ed526c8ea5c8f9ee151b3f3c35d"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:adf781ed526c8ea5c8f9ee151b3f3c35d"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#adf781ed526c8ea5c8f9ee151b3f3c35d">divide_conquer_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="separator:adf781ed526c8ea5c8f9ee151b3f3c35d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e06b8ee1932788a5bc08deffbf49cad"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Input , typename Divider , typename Solver , typename Combiner , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a9e06b8ee1932788a5bc08deffbf49cad"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9e06b8ee1932788a5bc08deffbf49cad">divide_conquer_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="separator:a9e06b8ee1932788a5bc08deffbf49cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf84ab83fad5503d9045f35d4b2d94d1"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:gacf84ab83fad5503d9045f35d4b2d94d1"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__divide__conquer__pattern__poly.html#gacf84ab83fad5503d9045f35d4b2d94d1">divide_conquer</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:gacf84ab83fad5503d9045f35d4b2d94d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_divide-conquer.html">Divide/conquer pattern</a> with polymorphic execution.  <a href="group__divide__conquer__pattern__poly.html#gacf84ab83fad5503d9045f35d4b2d94d1">More...</a><br /></td></tr>
<tr class="separator:gacf84ab83fad5503d9045f35d4b2d94d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbafcd799b426440ddd01cdffd5b282b"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Consumer &gt; </td></tr>
<tr class="memitem:adbafcd799b426440ddd01cdffd5b282b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#adbafcd799b426440ddd01cdffd5b282b">farm_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator generate_op, Consumer consume_op)</td></tr>
<tr class="separator:adbafcd799b426440ddd01cdffd5b282b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7968fc84a703186bd7241f85d77d4dfd"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Consumer &gt; </td></tr>
<tr class="memitem:a7968fc84a703186bd7241f85d77d4dfd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a7968fc84a703186bd7241f85d77d4dfd">farm_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator generate_op, Transformer transform_op, Consumer consume_op)</td></tr>
<tr class="separator:a7968fc84a703186bd7241f85d77d4dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acde4124856709270ebfbdfac355c5fd4"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Transformer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:acde4124856709270ebfbdfac355c5fd4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#acde4124856709270ebfbdfac355c5fd4">farm_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Transformer &amp;&amp;transform_op)</td></tr>
<tr class="separator:acde4124856709270ebfbdfac355c5fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59256c1d5cd59624122a20f3999674f3"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Transformer , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a59256c1d5cd59624122a20f3999674f3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a59256c1d5cd59624122a20f3999674f3">farm_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Transformer &amp;&amp;transform_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="separator:a59256c1d5cd59624122a20f3999674f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af95c447fa6f81e4c7b85a421a738c37d"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Consumer , internal::requires_execution_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:af95c447fa6f81e4c7b85a421a738c37d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#af95c447fa6f81e4c7b85a421a738c37d">farm_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="separator:af95c447fa6f81e4c7b85a421a738c37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98ef42a831a10ea09dca187a256444da"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Consumer &gt; </td></tr>
<tr class="memitem:ga98ef42a831a10ea09dca187a256444da"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__poly.html#ga98ef42a831a10ea09dca187a256444da">farm</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga98ef42a831a10ea09dca187a256444da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with polymorphic execution with a generator and a consumer.  <a href="group__farm__pattern__poly.html#ga98ef42a831a10ea09dca187a256444da">More...</a><br /></td></tr>
<tr class="separator:ga98ef42a831a10ea09dca187a256444da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga925eefc0162c4daf059dbdf61851978c"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Consumer &gt; </td></tr>
<tr class="memitem:ga925eefc0162c4daf059dbdf61851978c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__poly.html#ga925eefc0162c4daf059dbdf61851978c">farm</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Transformer &amp;&amp;transform_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga925eefc0162c4daf059dbdf61851978c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with polymorphic execution with a generator and a consumer.  <a href="group__farm__pattern__poly.html#ga925eefc0162c4daf059dbdf61851978c">More...</a><br /></td></tr>
<tr class="separator:ga925eefc0162c4daf059dbdf61851978c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad225dd8196b0d9f9f46098debb03ce51"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </td></tr>
<tr class="memitem:ad225dd8196b0d9f9f46098debb03ce51"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ad225dd8196b0d9f9f46098debb03ce51">map_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;op)</td></tr>
<tr class="separator:ad225dd8196b0d9f9f46098debb03ce51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f8fa813781c83d8a6290319eb4e7ac"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer , typename InputIt2 , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:a93f8fa813781c83d8a6290319eb4e7ac"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a93f8fa813781c83d8a6290319eb4e7ac">map_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;op, InputIt2 first2, OtherInputIts...more_firsts)</td></tr>
<tr class="separator:a93f8fa813781c83d8a6290319eb4e7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11dcf889a2ac8bcc1ee754a8bc4a3d21"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename Transformer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a11dcf889a2ac8bcc1ee754a8bc4a3d21"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a11dcf889a2ac8bcc1ee754a8bc4a3d21">map_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;op)</td></tr>
<tr class="separator:a11dcf889a2ac8bcc1ee754a8bc4a3d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a282802c130f4ca94b54808169c9a3578"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename Transformer , typename InputIt2 , typename... OtherInputIts, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a282802c130f4ca94b54808169c9a3578"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a282802c130f4ca94b54808169c9a3578">map_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;op, InputIt2 first2, OtherInputIts...more_firsts)</td></tr>
<tr class="separator:a282802c130f4ca94b54808169c9a3578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9dff4a5b135665fc58158e321953122c"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </td></tr>
<tr class="memitem:ga9dff4a5b135665fc58158e321953122c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__poly.html#ga9dff4a5b135665fc58158e321953122c">map</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op)</td></tr>
<tr class="memdesc:ga9dff4a5b135665fc58158e321953122c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke map-pattern on a data sequence with polymorphic execution.  <a href="group__map__pattern__poly.html#ga9dff4a5b135665fc58158e321953122c">More...</a><br /></td></tr>
<tr class="separator:ga9dff4a5b135665fc58158e321953122c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e28457db7ed2a86b67d3b1fb9829048"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename InputIt2 , typename Transformer , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:ga5e28457db7ed2a86b67d3b1fb9829048"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__poly.html#ga5e28457db7ed2a86b67d3b1fb9829048">map</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;op, InputIt2 first2, OtherInputIts...more_firsts)</td></tr>
<tr class="memdesc:ga5e28457db7ed2a86b67d3b1fb9829048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke map-pattern on a data sequence with polymorphic parallel execution.  <a href="group__map__pattern__poly.html#ga5e28457db7ed2a86b67d3b1fb9829048">More...</a><br /></td></tr>
<tr class="separator:ga5e28457db7ed2a86b67d3b1fb9829048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35e5ec6d00b4f3f04271fdff566b4bb8"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Transformer , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:a35e5ec6d00b4f3f04271fdff566b4bb8"><td class="memTemplItemLeft" align="right" valign="top">Identity&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a35e5ec6d00b4f3f04271fdff566b4bb8">map_reduce_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, Identity identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="separator:a35e5ec6d00b4f3f04271fdff566b4bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a917021a07a99e17147ba68f84a4e6456"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename InputIt , typename Transformer , typename Identity , typename Combiner , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a917021a07a99e17147ba68f84a4e6456"><td class="memTemplItemLeft" align="right" valign="top">Identity&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a917021a07a99e17147ba68f84a4e6456">map_reduce_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, Identity identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="separator:a917021a07a99e17147ba68f84a4e6456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6edc301630766d74bbaff88d0828fcc4"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Transformer , typename Result , typename Combiner &gt; </td></tr>
<tr class="memitem:ga6edc301630766d74bbaff88d0828fcc4"><td class="memTemplItemLeft" align="right" valign="top">Result&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__mapreduce__pattern__poly.html#ga6edc301630766d74bbaff88d0828fcc4">map_reduce</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, Result identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga6edc301630766d74bbaff88d0828fcc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map-reduce.html">Map/reduce pattern</a> on a data sequence with polymorphic execution.  <a href="group__mapreduce__pattern__poly.html#ga6edc301630766d74bbaff88d0828fcc4">More...</a><br /></td></tr>
<tr class="separator:ga6edc301630766d74bbaff88d0828fcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2197abd01922f923f3794f2c635b1a68"><td class="memTemplParams" colspan="2">template&lt;typename Execution , typename Transformer , typename... MoreTransformers, requires_arguments&lt; Transformer &gt;  = 0&gt; </td></tr>
<tr class="memitem:a2197abd01922f923f3794f2c635b1a68"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; Execution, Transformer, MoreTransformers... &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a2197abd01922f923f3794f2c635b1a68">transform_pipeline</a> (Execution &amp;ex, std::tuple&lt; Transformer, MoreTransformers... &gt; &amp;&amp;transform_ops)</td></tr>
<tr class="separator:a2197abd01922f923f3794f2c635b1a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae58a61669efcee90f6b995258bf830"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename... Transformers&gt; </td></tr>
<tr class="memitem:a8ae58a61669efcee90f6b995258bf830"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a8ae58a61669efcee90f6b995258bf830">pipeline_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;, Generator &amp;&amp;, Transformers &amp;&amp;...)</td></tr>
<tr class="separator:a8ae58a61669efcee90f6b995258bf830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2da11fbc7e93ba3e8ec3f579ae25ace8"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename... Transformers, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a2da11fbc7e93ba3e8ec3f579ae25ace8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a2da11fbc7e93ba3e8ec3f579ae25ace8">pipeline_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Transformers &amp;&amp;...transform_ops)</td></tr>
<tr class="separator:a2da11fbc7e93ba3e8ec3f579ae25ace8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1208da01265ea63b8eae3f43d5d260f0"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename... Transformers, requires_no_arguments&lt; Generator &gt;  = 0&gt; </td></tr>
<tr class="memitem:ga1208da01265ea63b8eae3f43d5d260f0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__pipeline__pattern__poly.html#ga1208da01265ea63b8eae3f43d5d260f0">pipeline</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Transformers &amp;&amp;...transform_ops)</td></tr>
<tr class="memdesc:ga1208da01265ea63b8eae3f43d5d260f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_pipeline.html">Pipeline pattern</a> on a data stream with polymorphic execution.  <a href="group__pipeline__pattern__poly.html#ga1208da01265ea63b8eae3f43d5d260f0">More...</a><br /></td></tr>
<tr class="separator:ga1208da01265ea63b8eae3f43d5d260f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5283566cb0405275f53062a0b905634"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:ab5283566cb0405275f53062a0b905634"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ab5283566cb0405275f53062a0b905634">is_execution_policy</a> ()</td></tr>
<tr class="memdesc:ab5283566cb0405275f53062a0b905634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Meta-function to determine if a type is an execution policy.  <a href="#ab5283566cb0405275f53062a0b905634">More...</a><br /></td></tr>
<tr class="separator:ab5283566cb0405275f53062a0b905634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63dea207552c8892fbe18aeb88cd0a68"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a63dea207552c8892fbe18aeb88cd0a68"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a63dea207552c8892fbe18aeb88cd0a68">make_polymorphic_execution</a> ()</td></tr>
<tr class="separator:a63dea207552c8892fbe18aeb88cd0a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f799b28b5b9f378bc9f9d9dabfeb34"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:a93f799b28b5b9f378bc9f9d9dabfeb34"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a93f799b28b5b9f378bc9f9d9dabfeb34">reduce_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op) -&gt; decltype(combine_op(*first,*first))</td></tr>
<tr class="separator:a93f799b28b5b9f378bc9f9d9dabfeb34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4139b464f86c1f881390514be7217c79"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename InputIt , typename Identity , typename Combiner , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a4139b464f86c1f881390514be7217c79"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a4139b464f86c1f881390514be7217c79">reduce_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="separator:a4139b464f86c1f881390514be7217c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dcf0dda412e51374d48d328cdfba358"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:ga8dcf0dda412e51374d48d328cdfba358"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__reduce__pattern__poly.html#ga8dcf0dda412e51374d48d328cdfba358">reduce</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga8dcf0dda412e51374d48d328cdfba358"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_reduce.html">Reduce pattern</a> with no identity value on a data sequence with sequential execution.  <a href="group__reduce__pattern__poly.html#ga8dcf0dda412e51374d48d328cdfba358">More...</a><br /></td></tr>
<tr class="separator:ga8dcf0dda412e51374d48d328cdfba358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad385aa94e1a19231f4c44d42ccd021f1"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </td></tr>
<tr class="memitem:ad385aa94e1a19231f4c44d42ccd021f1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ad385aa94e1a19231f4c44d42ccd021f1">stencil_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;op, Neighbourhood &amp;&amp;neighbor)</td></tr>
<tr class="separator:ad385aa94e1a19231f4c44d42ccd021f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cfb3be86dd0fe3a8f8fa29bb214ad36"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:a0cfb3be86dd0fe3a8f8fa29bb214ad36"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a0cfb3be86dd0fe3a8f8fa29bb214ad36">stencil_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;op, Neighbourhood &amp;&amp;neighbor, OtherInputIts...other_its)</td></tr>
<tr class="separator:a0cfb3be86dd0fe3a8f8fa29bb214ad36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cf8e41c6b3cb070a3c697089db2e0a5"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a1cf8e41c6b3cb070a3c697089db2e0a5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a1cf8e41c6b3cb070a3c697089db2e0a5">stencil_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;op, Neighbourhood &amp;&amp;neighbor)</td></tr>
<tr class="separator:a1cf8e41c6b3cb070a3c697089db2e0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada448479948ba373bbfd93304c072814"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:ada448479948ba373bbfd93304c072814"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ada448479948ba373bbfd93304c072814">stencil_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;op, Neighbourhood &amp;&amp;neighbor, OtherInputIts...other_its)</td></tr>
<tr class="separator:ada448479948ba373bbfd93304c072814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1874431c13903d416dadc3f6b9ad371"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </td></tr>
<tr class="memitem:gaf1874431c13903d416dadc3f6b9ad371"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__poly.html#gaf1874431c13903d416dadc3f6b9ad371">stencil</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;transform_op, Neighbourhood &amp;&amp;neighbour_op)</td></tr>
<tr class="memdesc:gaf1874431c13903d416dadc3f6b9ad371"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on a data sequence with polymorphic execution.  <a href="group__stencil__pattern__poly.html#gaf1874431c13903d416dadc3f6b9ad371">More...</a><br /></td></tr>
<tr class="separator:gaf1874431c13903d416dadc3f6b9ad371"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac658a5ae8d9c8eff68cf97d6dafa2a9f"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:gac658a5ae8d9c8eff68cf97d6dafa2a9f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__poly.html#gac658a5ae8d9c8eff68cf97d6dafa2a9f">stencil</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &amp;&amp;transform_op, Neighbourhood &amp;&amp;neighbour_op, OtherInputIts...other_its)</td></tr>
<tr class="memdesc:gac658a5ae8d9c8eff68cf97d6dafa2a9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on multiple data sequences with sequential execution.  <a href="group__stencil__pattern__poly.html#gac658a5ae8d9c8eff68cf97d6dafa2a9f">More...</a><br /></td></tr>
<tr class="separator:gac658a5ae8d9c8eff68cf97d6dafa2a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac44f4204f1c1f4407d3037e78392ddc5"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ac44f4204f1c1f4407d3037e78392ddc5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ac44f4204f1c1f4407d3037e78392ddc5">keep_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Generator &amp;&amp;generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="separator:ac44f4204f1c1f4407d3037e78392ddc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ba454c012bdf7eb35a2e39001e7b265"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a2ba454c012bdf7eb35a2e39001e7b265"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a2ba454c012bdf7eb35a2e39001e7b265">keep_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="separator:a2ba454c012bdf7eb35a2e39001e7b265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a12c266e33671c6ce1bff00214ca58"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:a55a12c266e33671c6ce1bff00214ca58"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a55a12c266e33671c6ce1bff00214ca58">discard_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Generator &amp;&amp;generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="separator:a55a12c266e33671c6ce1bff00214ca58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca7d94271488c6d3d8d72d29b26137a"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a9ca7d94271488c6d3d8d72d29b26137a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9ca7d94271488c6d3d8d72d29b26137a">discard_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="separator:a9ca7d94271488c6d3d8d72d29b26137a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga524b088f2333d5f57a60e2a3c67d09bc"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga524b088f2333d5f57a60e2a3c67d09bc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__poly.html#ga524b088f2333d5f57a60e2a3c67d09bc">keep</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga524b088f2333d5f57a60e2a3c67d09bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with polymorphic execution policy. This function keeps in the stream only those items that satisfy the predicate.  <a href="group__filter__poly.html#ga524b088f2333d5f57a60e2a3c67d09bc">More...</a><br /></td></tr>
<tr class="separator:ga524b088f2333d5f57a60e2a3c67d09bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35c22b3374221ed2216c408914a5ff26"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga35c22b3374221ed2216c408914a5ff26"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__poly.html#ga35c22b3374221ed2216c408914a5ff26">discard</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga35c22b3374221ed2216c408914a5ff26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with polymorphic execution policy. This function discards from the stream those items that satisfy the predicate.  <a href="group__filter__poly.html#ga35c22b3374221ed2216c408914a5ff26">More...</a><br /></td></tr>
<tr class="separator:ga35c22b3374221ed2216c408914a5ff26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc1e38031572ec5b38211015de15573"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename Transformer &gt; </td></tr>
<tr class="memitem:a6bc1e38031572ec5b38211015de15573"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a6bc1e38031572ec5b38211015de15573">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:a6bc1e38031572ec5b38211015de15573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5987b4c0ea0a73f97f62241d907ad7ac"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Transformer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a5987b4c0ea0a73f97f62241d907ad7ac"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a5987b4c0ea0a73f97f62241d907ad7ac">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:a5987b4c0ea0a73f97f62241d907ad7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4769139291f3fd92e3f0d9ff9f4b2f4"><td class="memTemplParams" colspan="2">template&lt;class E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Transformer , internal::requires_execution_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:ab4769139291f3fd92e3f0d9ff9f4b2f4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ab4769139291f3fd92e3f0d9ff9f4b2f4">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:ab4769139291f3fd92e3f0d9ff9f4b2f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae69924a3b586b0e345aa27d01b147e5e"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:ae69924a3b586b0e345aa27d01b147e5e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ae69924a3b586b0e345aa27d01b147e5e">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, MoreTransformers... &gt; &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:ae69924a3b586b0e345aa27d01b147e5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107a7dff5d00c3078623ef076c752398"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a107a7dff5d00c3078623ef076c752398"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a107a7dff5d00c3078623ef076c752398">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, MoreTransformers... &gt; &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:a107a7dff5d00c3078623ef076c752398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafcf4b317d947cae54744ad0b8ff06dd"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename Operation &gt; </td></tr>
<tr class="memitem:aafcf4b317d947cae54744ad0b8ff06dd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#aafcf4b317d947cae54744ad0b8ff06dd">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, Operation &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:aafcf4b317d947cae54744ad0b8ff06dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31e228b475cea697232de889f0d3b5d8"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Operation , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a31e228b475cea697232de889f0d3b5d8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a31e228b475cea697232de889f0d3b5d8">repeat_until_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;e, Generator &amp;&amp;in, Operation &amp;&amp;op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;out)</td></tr>
<tr class="separator:a31e228b475cea697232de889f0d3b5d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03630659eaffa2d8be6898cacc91fa15"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename Transformer &gt; </td></tr>
<tr class="memitem:ga03630659eaffa2d8be6898cacc91fa15"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__poly.html#ga03630659eaffa2d8be6898cacc91fa15">repeat_until</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;farm_obj, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga03630659eaffa2d8be6898cacc91fa15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with polymorphic execution with a generator, a predicate, a consumer and a farm as a transformer.  <a href="group__stream__iteration__pattern__poly.html#ga03630659eaffa2d8be6898cacc91fa15">More...</a><br /></td></tr>
<tr class="separator:ga03630659eaffa2d8be6898cacc91fa15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab91f35bd4daa982d7c73b07d9593aefb"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename... Transformers&gt; </td></tr>
<tr class="memitem:gab91f35bd4daa982d7c73b07d9593aefb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__poly.html#gab91f35bd4daa982d7c73b07d9593aefb">repeat_until</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformers... &gt; &amp;&amp;pipe_info, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:gab91f35bd4daa982d7c73b07d9593aefb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with polymorphic execution with a generator, a predicate, a consumer and a pipeline as a transformer.  <a href="group__stream__iteration__pattern__poly.html#gab91f35bd4daa982d7c73b07d9593aefb">More...</a><br /></td></tr>
<tr class="separator:gab91f35bd4daa982d7c73b07d9593aefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7226268cc3413175327a1cef22cc4108"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga7226268cc3413175327a1cef22cc4108"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__poly.html#ga7226268cc3413175327a1cef22cc4108">repeat_until</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, Generator &amp;&amp;generate_op, Transformer &amp;&amp;transform_op, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga7226268cc3413175327a1cef22cc4108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with polymorphic execution with a generator, a predicate, a transformer and a consumer.  <a href="group__stream__iteration__pattern__poly.html#ga7226268cc3413175327a1cef22cc4108">More...</a><br /></td></tr>
<tr class="separator:ga7226268cc3413175327a1cef22cc4108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2a7bcd673723813fdad9c8f0b8729f3"><td class="memTemplParams" colspan="2">template&lt;typename Identity , typename Combiner , typename Consumer , typename Generator &gt; </td></tr>
<tr class="memitem:ac2a7bcd673723813fdad9c8f0b8729f3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ac2a7bcd673723813fdad9c8f0b8729f3">stream_reduce_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, int window_size, int offset, Identity identity, Generator &amp;&amp;generate_op, Combiner &amp;&amp;combine_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="separator:ac2a7bcd673723813fdad9c8f0b8729f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a218d5b3dcad7d711548dfb53be22717f"><td class="memTemplParams" colspan="2">template&lt;typename E , typename... O, typename Identity , typename Generator , typename Combiner , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </td></tr>
<tr class="memitem:a218d5b3dcad7d711548dfb53be22717f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a218d5b3dcad7d711548dfb53be22717f">stream_reduce_multi_impl</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, int windowsize, int offset, Identity identity, Generator &amp;&amp;gen, Combiner &amp;&amp;comb, Consumer &amp;&amp;cons)</td></tr>
<tr class="separator:a218d5b3dcad7d711548dfb53be22717f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48c99c46a17d24d60bede2046ccd31a5"><td class="memTemplParams" colspan="2">template&lt;typename Identity , typename Generator , typename Combiner , typename Consumer &gt; </td></tr>
<tr class="memitem:ga48c99c46a17d24d60bede2046ccd31a5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__reduce__pattern__poly.html#ga48c99c46a17d24d60bede2046ccd31a5">stream_reduce</a> (<a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;ex, int windowsize, int offset, Identity identity, Generator &amp;&amp;gen, Combiner &amp;&amp;comb, Consumer &amp;&amp;cons)</td></tr>
<tr class="memdesc:ga48c99c46a17d24d60bede2046ccd31a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-reduce.html">Stream reduction pattern</a> on a stream with polymorphic parallel execution.  <a href="group__stream__reduce__pattern__poly.html#ga48c99c46a17d24d60bede2046ccd31a5">More...</a><br /></td></tr>
<tr class="separator:ga48c99c46a17d24d60bede2046ccd31a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c0daea97b28e0dc95a0347a3ff11426"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:ga0c0daea97b28e0dc95a0347a3ff11426"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__divide__conquer__pattern__seq.html#ga0c0daea97b28e0dc95a0347a3ff11426">divide_conquer</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divider_op, Solver &amp;&amp;solver_op, Combiner &amp;&amp;combiner_op)</td></tr>
<tr class="memdesc:ga0c0daea97b28e0dc95a0347a3ff11426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_divide-conquer.html">Divide/conquer pattern</a> with sequential execution.  <a href="group__divide__conquer__pattern__seq.html#ga0c0daea97b28e0dc95a0347a3ff11426">More...</a><br /></td></tr>
<tr class="separator:ga0c0daea97b28e0dc95a0347a3ff11426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeff71341c7de16fda21f42677d8ee5be"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Consumer &gt; </td></tr>
<tr class="memitem:gaeff71341c7de16fda21f42677d8ee5be"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__seq.html#gaeff71341c7de16fda21f42677d8ee5be">farm</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> ex, Generator generate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gaeff71341c7de16fda21f42677d8ee5be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with sequential execution with a generator and a consumer.  <a href="group__farm__pattern__seq.html#gaeff71341c7de16fda21f42677d8ee5be">More...</a><br /></td></tr>
<tr class="separator:gaeff71341c7de16fda21f42677d8ee5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62cadf78719f4db5976a3cd56350d79d"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Consumer &gt; </td></tr>
<tr class="memitem:ga62cadf78719f4db5976a3cd56350d79d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__seq.html#ga62cadf78719f4db5976a3cd56350d79d">farm</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> ex, Generator generate_op, Transformer transform_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga62cadf78719f4db5976a3cd56350d79d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with sequential execution with a generator, a transformer, and a comsumer.  <a href="group__farm__pattern__seq.html#ga62cadf78719f4db5976a3cd56350d79d">More...</a><br /></td></tr>
<tr class="separator:ga62cadf78719f4db5976a3cd56350d79d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94d975d9769167a5476a2924d5c03da1"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </td></tr>
<tr class="memitem:ga94d975d9769167a5476a2924d5c03da1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__seq.html#ga94d975d9769167a5476a2924d5c03da1">map</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op)</td></tr>
<tr class="memdesc:ga94d975d9769167a5476a2924d5c03da1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with sequential execution.  <a href="group__map__pattern__seq.html#ga94d975d9769167a5476a2924d5c03da1">More...</a><br /></td></tr>
<tr class="separator:ga94d975d9769167a5476a2924d5c03da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2018a724d0be3c30ee4ed39038b7a27"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:gae2018a724d0be3c30ee4ed39038b7a27"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__seq.html#gae2018a724d0be3c30ee4ed39038b7a27">map</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op, OtherInputIts...other_firsts)</td></tr>
<tr class="memdesc:gae2018a724d0be3c30ee4ed39038b7a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with sequential execution.  <a href="group__map__pattern__seq.html#gae2018a724d0be3c30ee4ed39038b7a27">More...</a><br /></td></tr>
<tr class="separator:gae2018a724d0be3c30ee4ed39038b7a27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab314dac9880c036a5e295464930beb7f"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Result , typename Transformer , typename Combiner &gt; </td></tr>
<tr class="memitem:gab314dac9880c036a5e295464930beb7f"><td class="memTemplItemLeft" align="right" valign="top">Result&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__mapreduce__pattern__seq.html#gab314dac9880c036a5e295464930beb7f">map_reduce</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;, InputIt first, InputIt last, Result identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:gab314dac9880c036a5e295464930beb7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map-reduce.html">Map/reduce pattern</a> on a data sequence with sequential execution.  <a href="group__mapreduce__pattern__seq.html#gab314dac9880c036a5e295464930beb7f">More...</a><br /></td></tr>
<tr class="separator:gab314dac9880c036a5e295464930beb7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ad0b5181e41c9753609463c63a093b1"><td class="memTemplParams" colspan="2">template&lt;typename Input , int Index, typename... MoreTransformers, internal::requires_index_last&lt; Index, MoreTransformers... &gt;  = 0&gt; </td></tr>
<tr class="memitem:a1ad0b5181e41c9753609463c63a093b1"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a1ad0b5181e41c9753609463c63a093b1">composed_pipeline</a> (Input in, const <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, MoreTransformers... &gt; &amp;pipeline_obj)</td></tr>
<tr class="separator:a1ad0b5181e41c9753609463c63a093b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f9c160369563168490f1b0518573a4e"><td class="memTemplParams" colspan="2">template&lt;typename Item , typename Transformer &gt; </td></tr>
<tr class="memitem:a4f9c160369563168490f1b0518573a4e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a4f9c160369563168490f1b0518573a4e">pipeline_impl</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;s, Item &amp;&amp;item, Transformer &amp;&amp;transform_op)</td></tr>
<tr class="separator:a4f9c160369563168490f1b0518573a4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9559a88f3ba8dc6fe319a5993f659bb"><td class="memTemplParams" colspan="2">template&lt;typename Item , typename Filter , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:ab9559a88f3ba8dc6fe319a5993f659bb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ab9559a88f3ba8dc6fe319a5993f659bb">pipeline_impl</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Item &amp;&amp;item, const <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Filter &gt; &amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:ab9559a88f3ba8dc6fe319a5993f659bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9c5a29a695ea636eb3b7baf11c4e689"><td class="memTemplParams" colspan="2">template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:ad9c5a29a695ea636eb3b7baf11c4e689"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ad9c5a29a695ea636eb3b7baf11c4e689">pipeline_impl</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Item &amp;&amp;item, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;&amp;transf_filter, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:ad9c5a29a695ea636eb3b7baf11c4e689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28f2b2ce8b48b496be7b1e4c2ae032f"><td class="memTemplParams" colspan="2">template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:ab28f2b2ce8b48b496be7b1e4c2ae032f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ab28f2b2ce8b48b496be7b1e4c2ae032f">pipeline_impl</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Item &amp;&amp;item, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;transf_farm, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:ab28f2b2ce8b48b496be7b1e4c2ae032f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b686aaa5f43c7f83261597cedc06b1"><td class="memTemplParams" colspan="2">template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a71b686aaa5f43c7f83261597cedc06b1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a71b686aaa5f43c7f83261597cedc06b1">pipeline_impl</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Item &amp;&amp;item, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;&amp;transform_farm, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a71b686aaa5f43c7f83261597cedc06b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04772271c21c3f5fca622645660e9ee9"><td class="memTemplParams" colspan="2">template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </td></tr>
<tr class="memitem:a04772271c21c3f5fca622645660e9ee9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a04772271c21c3f5fca622645660e9ee9">pipeline_impl</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Item &amp;&amp;item, Transformer &amp;&amp;transform_op, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a04772271c21c3f5fca622645660e9ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d6dd4332c75659e425ab03d8ddf038c"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename... Transformers, typename  = typename std::result_of&lt;Generator()&gt;::type&gt; </td></tr>
<tr class="memitem:ga4d6dd4332c75659e425ab03d8ddf038c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__pipeline__pattern__seq.html#ga4d6dd4332c75659e425ab03d8ddf038c">pipeline</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Generator &amp;&amp;generator_op, Transformers &amp;&amp;...transform_ops)</td></tr>
<tr class="memdesc:ga4d6dd4332c75659e425ab03d8ddf038c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_pipeline.html">Pipeline pattern</a> on a data stream with sequential execution.  <a href="group__pipeline__pattern__seq.html#ga4d6dd4332c75659e425ab03d8ddf038c">More...</a><br /></td></tr>
<tr class="separator:ga4d6dd4332c75659e425ab03d8ddf038c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f01b484a8469ded4ada205e3ac0d205"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:ga5f01b484a8469ded4ada205e3ac0d205"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__reduce__pattern__seq.html#ga5f01b484a8469ded4ada205e3ac0d205">reduce</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga5f01b484a8469ded4ada205e3ac0d205"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_reduce.html">Reduce pattern</a> with identity value on a data sequence with sequential execution.  <a href="group__reduce__pattern__seq.html#ga5f01b484a8469ded4ada205e3ac0d205">More...</a><br /></td></tr>
<tr class="separator:ga5f01b484a8469ded4ada205e3ac0d205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e049fdd071afc3726a0e9d866dfdc31"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:a3e049fdd071afc3726a0e9d866dfdc31"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a3e049fdd071afc3726a0e9d866dfdc31">is_sequential_execution</a> ()</td></tr>
<tr class="memdesc:a3e049fdd071afc3726a0e9d866dfdc31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if a type is a sequential execution policy.  <a href="#a3e049fdd071afc3726a0e9d866dfdc31">More...</a><br /></td></tr>
<tr class="separator:a3e049fdd071afc3726a0e9d866dfdc31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa979cd5b2e2efbd7a7d752121b29ed0"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:afa979cd5b2e2efbd7a7d752121b29ed0"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#afa979cd5b2e2efbd7a7d752121b29ed0">is_supported&lt; sequential_execution &gt;</a> ()</td></tr>
<tr class="separator:afa979cd5b2e2efbd7a7d752121b29ed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad52a4bd319d599464e33fbefc3edb8af"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </td></tr>
<tr class="memitem:gad52a4bd319d599464e33fbefc3edb8af"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__seq.html#gad52a4bd319d599464e33fbefc3edb8af">stencil</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt out, StencilTransformer transform_op, Neighbourhood neighbour_op)</td></tr>
<tr class="memdesc:gad52a4bd319d599464e33fbefc3edb8af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on a data sequence with sequential execution.  <a href="group__stencil__pattern__seq.html#gad52a4bd319d599464e33fbefc3edb8af">More...</a><br /></td></tr>
<tr class="separator:gad52a4bd319d599464e33fbefc3edb8af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4620af18fde26752562de66a198a50f"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:gab4620af18fde26752562de66a198a50f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__seq.html#gab4620af18fde26752562de66a198a50f">stencil</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, InputIt first, InputIt last, OutputIt out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts)</td></tr>
<tr class="memdesc:gab4620af18fde26752562de66a198a50f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on multiple data sequences with sequential execution.  <a href="group__stencil__pattern__seq.html#gab4620af18fde26752562de66a198a50f">More...</a><br /></td></tr>
<tr class="separator:gab4620af18fde26752562de66a198a50f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga044a5791ef8eb7743f9f6f52d0a37124"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga044a5791ef8eb7743f9f6f52d0a37124"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__seq.html#ga044a5791ef8eb7743f9f6f52d0a37124">keep</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga044a5791ef8eb7743f9f6f52d0a37124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate.  <a href="group__filter__pattern__seq.html#ga044a5791ef8eb7743f9f6f52d0a37124">More...</a><br /></td></tr>
<tr class="separator:ga044a5791ef8eb7743f9f6f52d0a37124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ed39c7dfe3044d6186cc89237d7a6a1"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga0ed39c7dfe3044d6186cc89237d7a6a1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__seq.html#ga0ed39c7dfe3044d6186cc89237d7a6a1">discard</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga0ed39c7dfe3044d6186cc89237d7a6a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate.  <a href="group__filter__pattern__seq.html#ga0ed39c7dfe3044d6186cc89237d7a6a1">More...</a><br /></td></tr>
<tr class="separator:ga0ed39c7dfe3044d6186cc89237d7a6a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebb9ba456522d48728b470c7140f9788"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:gaebb9ba456522d48728b470c7140f9788"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__sequential.html#gaebb9ba456522d48728b470c7140f9788">repeat_until</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Generator generate_op, Transformer &amp;&amp;transform_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gaebb9ba456522d48728b470c7140f9788"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with sequential execution with a generator, a transformer, a predicate, and a consumer.  <a href="group__stream__iteration__pattern__sequential.html#gaebb9ba456522d48728b470c7140f9788">More...</a><br /></td></tr>
<tr class="separator:gaebb9ba456522d48728b470c7140f9788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f01e674e135b7807e4e8debff617a6f"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga6f01e674e135b7807e4e8debff617a6f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__sequential.html#ga6f01e674e135b7807e4e8debff617a6f">repeat_until</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Generator &amp;&amp;generate_op, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;farm_obj, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga6f01e674e135b7807e4e8debff617a6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with sequential execution with a generator, a farm as transformer, a predicate, and a consumer.  <a href="group__stream__iteration__pattern__sequential.html#ga6f01e674e135b7807e4e8debff617a6f">More...</a><br /></td></tr>
<tr class="separator:ga6f01e674e135b7807e4e8debff617a6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4d4a71d49b15914a030ef27925dcfbe"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:gac4d4a71d49b15914a030ef27925dcfbe"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__sequential.html#gac4d4a71d49b15914a030ef27925dcfbe">repeat_until</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Generator generate_op, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;&amp;farm_obj, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gac4d4a71d49b15914a030ef27925dcfbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with sequential execution with a generator, a farm as transformer, a predicate, and a consumer.  <a href="group__stream__iteration__pattern__sequential.html#gac4d4a71d49b15914a030ef27925dcfbe">More...</a><br /></td></tr>
<tr class="separator:gac4d4a71d49b15914a030ef27925dcfbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad23fbd0b8b726bf4855d0738e7d3303"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename... Transformers&gt; </td></tr>
<tr class="memitem:gaad23fbd0b8b726bf4855d0738e7d3303"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__sequential.html#gaad23fbd0b8b726bf4855d0738e7d3303">repeat_until</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Generator &amp;&amp;generate_op, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformers... &gt; &amp;pipe_obj, Predicate &amp;&amp;predicate_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:gaad23fbd0b8b726bf4855d0738e7d3303"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with sequential execution with a generator, a pipeline as transformer, a predicate, and a consumer.  <a href="group__stream__iteration__pattern__sequential.html#gaad23fbd0b8b726bf4855d0738e7d3303">More...</a><br /></td></tr>
<tr class="separator:gaad23fbd0b8b726bf4855d0738e7d3303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab80754e726ba64139c1f8d97192c4862"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer , typename... Transformers&gt; </td></tr>
<tr class="memitem:gab80754e726ba64139c1f8d97192c4862"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__iteration__pattern__sequential.html#gab80754e726ba64139c1f8d97192c4862">repeat_until</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, Generator generate_op, <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformers... &gt; &amp;&amp;pipe, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gab80754e726ba64139c1f8d97192c4862"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-iteration.html">Stream iteration pattern</a> on a data stream with sequential execution with a generator, a pipeline as transformer, a predicate, and a consumer.  <a href="group__stream__iteration__pattern__sequential.html#gab80754e726ba64139c1f8d97192c4862">More...</a><br /></td></tr>
<tr class="separator:gab80754e726ba64139c1f8d97192c4862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0eb0755789cd3862bf43de2529e12638"><td class="memTemplParams" colspan="2">template&lt;typename Identity , typename Combiner , typename Consumer , typename Generator &gt; </td></tr>
<tr class="memitem:ga0eb0755789cd3862bf43de2529e12638"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__reduce__pattern__seq.html#ga0eb0755789cd3862bf43de2529e12638">stream_reduce</a> (<a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;ex, int window_size, int offset, Identity identity, Generator &amp;&amp;generate_op, Combiner &amp;&amp;combine_op, Consumer &amp;&amp;consume_op)</td></tr>
<tr class="memdesc:ga0eb0755789cd3862bf43de2529e12638"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-reduce.html">Stream reduction pattern</a> on a stream with sequential execution.  <a href="group__stream__reduce__pattern__seq.html#ga0eb0755789cd3862bf43de2529e12638">More...</a><br /></td></tr>
<tr class="separator:ga0eb0755789cd3862bf43de2529e12638"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga930146aeb6ed75b318d8578e4424a35b"><td class="memTemplParams" colspan="2">template&lt;typename Execution , typename Predicate &gt; </td></tr>
<tr class="memitem:ga930146aeb6ed75b318d8578e4424a35b"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern.html#ga930146aeb6ed75b318d8578e4424a35b">keep</a> (Execution &amp;ex, Predicate &amp;&amp;predicate_op)</td></tr>
<tr class="memdesc:ga930146aeb6ed75b318d8578e4424a35b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data stream that can be composed in other streaming patterns. This function keeps in the stream only those items that satisfy the predicate.  <a href="group__filter__pattern.html#ga930146aeb6ed75b318d8578e4424a35b">More...</a><br /></td></tr>
<tr class="separator:ga930146aeb6ed75b318d8578e4424a35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69d1c5d7e7811a6006bede7e485ad381"><td class="memTemplParams" colspan="2">template&lt;typename Execution , typename Predicate &gt; </td></tr>
<tr class="memitem:ga69d1c5d7e7811a6006bede7e485ad381"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern.html#ga69d1c5d7e7811a6006bede7e485ad381">discard</a> (Execution &amp;ex, Predicate &amp;&amp;predicate_op)</td></tr>
<tr class="memdesc:ga69d1c5d7e7811a6006bede7e485ad381"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data stream that can be composed in other streaming patterns. This function discards from the stream those items that satisfy the predicate.  <a href="group__filter__pattern.html#ga69d1c5d7e7811a6006bede7e485ad381">More...</a><br /></td></tr>
<tr class="separator:ga69d1c5d7e7811a6006bede7e485ad381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60cdfe8f7152c49ee40093e593ec00a2"><td class="memTemplParams" colspan="2">template&lt;typename Execution , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:ga60cdfe8f7152c49ee40093e593ec00a2"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__reduce__pattern.html#ga60cdfe8f7152c49ee40093e593ec00a2">stream_reduce</a> (Execution &amp;ex, int window_size, int offset, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga60cdfe8f7152c49ee40093e593ec00a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-reduce.html">Stream reduction pattern</a> on a stream that can be composed in other streaming patterns.  <a href="group__stream__reduce__pattern.html#ga60cdfe8f7152c49ee40093e593ec00a2">More...</a><br /></td></tr>
<tr class="separator:ga60cdfe8f7152c49ee40093e593ec00a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a849386d8a650631c3fe4610d5b58a162"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:a849386d8a650631c3fe4610d5b58a162"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a849386d8a650631c3fe4610d5b58a162">internal_divide_conquer</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op, std::atomic&lt; int &gt; &amp;num_threads)</td></tr>
<tr class="separator:a849386d8a650631c3fe4610d5b58a162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafff85d55bc53fd1b8b6c496d073fe4b"><td class="memTemplParams" colspan="2">template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </td></tr>
<tr class="memitem:gaafff85d55bc53fd1b8b6c496d073fe4b"><td class="memTemplItemLeft" align="right" valign="top">std::result_of&lt; Solver(Input)&gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__divide__conquer__pattern__tbb.html#gaafff85d55bc53fd1b8b6c496d073fe4b">divide_conquer</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input &amp;input, Divider &amp;&amp;divide_op, Solver &amp;&amp;solve_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:gaafff85d55bc53fd1b8b6c496d073fe4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_divide-conquer.html">Divide/conquer pattern</a> with TBB parallel execution.  <a href="group__divide__conquer__pattern__tbb.html#gaafff85d55bc53fd1b8b6c496d073fe4b">More...</a><br /></td></tr>
<tr class="separator:gaafff85d55bc53fd1b8b6c496d073fe4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22706960fdf85a22ae0320becab1ed7d"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Consumer &gt; </td></tr>
<tr class="memitem:ga22706960fdf85a22ae0320becab1ed7d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__tbb.html#ga22706960fdf85a22ae0320becab1ed7d">farm</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Generator generate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga22706960fdf85a22ae0320becab1ed7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with TBB parallel execution with a generator and a consumer.  <a href="group__farm__pattern__tbb.html#ga22706960fdf85a22ae0320becab1ed7d">More...</a><br /></td></tr>
<tr class="separator:ga22706960fdf85a22ae0320becab1ed7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d5b892e1b65020c375e19e62d0f9bf7"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Transformer , typename Consumer &gt; </td></tr>
<tr class="memitem:ga0d5b892e1b65020c375e19e62d0f9bf7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__farm__pattern__tbb.html#ga0d5b892e1b65020c375e19e62d0f9bf7">farm</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Generator generate_op, Transformer transform_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga0d5b892e1b65020c375e19e62d0f9bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_farm.html">Farm pattern</a> on a data stream with TBB parallel execution with a generator and a consumer.  <a href="group__farm__pattern__tbb.html#ga0d5b892e1b65020c375e19e62d0f9bf7">More...</a><br /></td></tr>
<tr class="separator:ga0d5b892e1b65020c375e19e62d0f9bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5b27bf218e3322a33cd2915c2782727"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </td></tr>
<tr class="memitem:gab5b27bf218e3322a33cd2915c2782727"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__tbb.html#gab5b27bf218e3322a33cd2915c2782727">map</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op)</td></tr>
<tr class="memdesc:gab5b27bf218e3322a33cd2915c2782727"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with TBB parallel execution.  <a href="group__map__pattern__tbb.html#gab5b27bf218e3322a33cd2915c2782727">More...</a><br /></td></tr>
<tr class="separator:gab5b27bf218e3322a33cd2915c2782727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fa55b32fcbc06ddfbbb6623f6241fb4"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:ga8fa55b32fcbc06ddfbbb6623f6241fb4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__map__pattern__tbb.html#ga8fa55b32fcbc06ddfbbb6623f6241fb4">map</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, Transformer &amp;&amp;transf_op, OtherInputIts...more_firsts)</td></tr>
<tr class="memdesc:ga8fa55b32fcbc06ddfbbb6623f6241fb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map.html">Map pattern</a> on a data sequence with TBB parallel execution.  <a href="group__map__pattern__tbb.html#ga8fa55b32fcbc06ddfbbb6623f6241fb4">More...</a><br /></td></tr>
<tr class="separator:ga8fa55b32fcbc06ddfbbb6623f6241fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93ab7bc6c6e91397ae5d94c4bc18497f"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Transformer , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:ga93ab7bc6c6e91397ae5d94c4bc18497f"><td class="memTemplItemLeft" align="right" valign="top">Identity&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__mapreduce__pattern__tbb.html#ga93ab7bc6c6e91397ae5d94c4bc18497f">map_reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;p, InputIt first, InputIt last, Identity identity, Transformer &amp;&amp;transform_op, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga93ab7bc6c6e91397ae5d94c4bc18497f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_map-reduce.html">Map/reduce pattern</a> on a data sequence with TBB parallel execution.  <a href="group__mapreduce__pattern__tbb.html#ga93ab7bc6c6e91397ae5d94c4bc18497f">More...</a><br /></td></tr>
<tr class="separator:ga93ab7bc6c6e91397ae5d94c4bc18497f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb9c59d0d8356f37f2a09fafd6e70726"><td class="memTemplParams" colspan="2">template&lt;typename E &gt; </td></tr>
<tr class="memitem:afb9c59d0d8356f37f2a09fafd6e70726"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#afb9c59d0d8356f37f2a09fafd6e70726">is_parallel_execution_tbb</a> ()</td></tr>
<tr class="memdesc:afb9c59d0d8356f37f2a09fafd6e70726"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metafunction that determines if type E is <a class="el" href="classgrppi_1_1parallel__execution__tbb.html" title="TBB parallel execution policy. ">parallel_execution_tbb</a>.  <a href="#afb9c59d0d8356f37f2a09fafd6e70726">More...</a><br /></td></tr>
<tr class="separator:afb9c59d0d8356f37f2a09fafd6e70726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a3a77a7ec35389029d4f5e35d03b5cf"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a9a3a77a7ec35389029d4f5e35d03b5cf"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a9a3a77a7ec35389029d4f5e35d03b5cf">is_supported&lt; parallel_execution_tbb &gt;</a> ()</td></tr>
<tr class="memdesc:a9a3a77a7ec35389029d4f5e35d03b5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization stating that <a class="el" href="classgrppi_1_1parallel__execution__tbb.html" title="TBB parallel execution policy. ">parallel_execution_tbb</a> is supported. This metafunction evaluates to false if GRPPI_TBB is enabled.  <a href="#a9a3a77a7ec35389029d4f5e35d03b5cf">More...</a><br /></td></tr>
<tr class="separator:a9a3a77a7ec35389029d4f5e35d03b5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1867295a11f762db08f42a78577ba17f"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename Input &gt; </td></tr>
<tr class="memitem:a1867295a11f762db08f42a78577ba17f"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a1867295a11f762db08f42a78577ba17f">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input, Transformer &amp;&amp;transform_op)</td></tr>
<tr class="separator:a1867295a11f762db08f42a78577ba17f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88af4ebfe0a5b5e35968df520794e928"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename... MoreTransformers, typename Input &gt; </td></tr>
<tr class="memitem:a88af4ebfe0a5b5e35968df520794e928"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a88af4ebfe0a5b5e35968df520794e928">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input in, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Transformer &gt; &amp;farm_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a88af4ebfe0a5b5e35968df520794e928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80120696a932196383bab64ad367bd4a"><td class="memTemplParams" colspan="2">template&lt;typename Predicate , typename... MoreTransformers, typename Input &gt; </td></tr>
<tr class="memitem:a80120696a932196383bab64ad367bd4a"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a80120696a932196383bab64ad367bd4a">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input in, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Predicate &gt; &amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a80120696a932196383bab64ad367bd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d70a655af6c5f08c141bd8915c0b751"><td class="memTemplParams" colspan="2">template&lt;typename Predicate , typename... MoreTransformers, typename Input &gt; </td></tr>
<tr class="memitem:a7d70a655af6c5f08c141bd8915c0b751"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a7d70a655af6c5f08c141bd8915c0b751">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input in, <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Predicate &gt; &amp;&amp;filter_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a7d70a655af6c5f08c141bd8915c0b751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3bf180cf5da558513872ad8eeaa02bb"><td class="memTemplParams" colspan="2">template&lt;typename Transformer , typename... MoreTransformers, typename Input &gt; </td></tr>
<tr class="memitem:ac3bf180cf5da558513872ad8eeaa02bb"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#ac3bf180cf5da558513872ad8eeaa02bb">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input, <a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Transformer &gt; &amp;&amp;farm_obj, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:ac3bf180cf5da558513872ad8eeaa02bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a506a71d88034c9b70a1d79a8991267aa"><td class="memTemplParams" colspan="2">template&lt;typename Predicate , typename... MoreTransformers, typename Input &gt; </td></tr>
<tr class="memitem:a506a71d88034c9b70a1d79a8991267aa"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a506a71d88034c9b70a1d79a8991267aa">pipeline_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Input, Predicate &amp;&amp;predicate_op, MoreTransformers &amp;&amp;...more_transform_ops)</td></tr>
<tr class="separator:a506a71d88034c9b70a1d79a8991267aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29057fca6b7d292d1a02fef34220e17c"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename... Transformers, requires_no_arguments&lt; Generator &gt;  = 0&gt; </td></tr>
<tr class="memitem:ga29057fca6b7d292d1a02fef34220e17c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__pipeline__pattern__tbb.html#ga29057fca6b7d292d1a02fef34220e17c">pipeline</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Generator generate_op, Transformers &amp;&amp;...transform_ops)</td></tr>
<tr class="memdesc:ga29057fca6b7d292d1a02fef34220e17c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_pipeline.html">Pipeline pattern</a> on a data stream with TBB parallel execution.  <a href="group__pipeline__pattern__tbb.html#ga29057fca6b7d292d1a02fef34220e17c">More...</a><br /></td></tr>
<tr class="separator:ga29057fca6b7d292d1a02fef34220e17c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga514e7640828499d00699c607966a1f36"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename Identity , typename Combiner &gt; </td></tr>
<tr class="memitem:ga514e7640828499d00699c607966a1f36"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__reduce__pattern__tbb.html#ga514e7640828499d00699c607966a1f36">reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, InputIt first, InputIt last, Identity identity, Combiner &amp;&amp;combine_op)</td></tr>
<tr class="memdesc:ga514e7640828499d00699c607966a1f36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_reduce.html">Reduce pattern</a> with identity value on a data sequence with parallel TBB execution.  <a href="group__reduce__pattern__tbb.html#ga514e7640828499d00699c607966a1f36">More...</a><br /></td></tr>
<tr class="separator:ga514e7640828499d00699c607966a1f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b60eeb44e66da9219f2d83edaa1e2b1"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:a0b60eeb44e66da9219f2d83edaa1e2b1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrppi.html#a0b60eeb44e66da9219f2d83edaa1e2b1">stencil_impl</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, int elements_per_thread, int index, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts)</td></tr>
<tr class="separator:a0b60eeb44e66da9219f2d83edaa1e2b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b94dcbfe8ad5fccae9269f870fbabf8"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </td></tr>
<tr class="memitem:ga4b94dcbfe8ad5fccae9269f870fbabf8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__tbb.html#ga4b94dcbfe8ad5fccae9269f870fbabf8">stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op)</td></tr>
<tr class="memdesc:ga4b94dcbfe8ad5fccae9269f870fbabf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on a data sequence with TBB parallel execution.  <a href="group__stencil__pattern__tbb.html#ga4b94dcbfe8ad5fccae9269f870fbabf8">More...</a><br /></td></tr>
<tr class="separator:ga4b94dcbfe8ad5fccae9269f870fbabf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab44f514be6479bb9ab952b8d09a44d4c"><td class="memTemplParams" colspan="2">template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </td></tr>
<tr class="memitem:gab44f514be6479bb9ab952b8d09a44d4c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stencil__pattern__tbb.html#gab44f514be6479bb9ab952b8d09a44d4c">stencil</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts)</td></tr>
<tr class="memdesc:gab44f514be6479bb9ab952b8d09a44d4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stencil.html">Stencil pattern</a> on multiple data sequences with TBB parallel execution.  <a href="group__stencil__pattern__tbb.html#gab44f514be6479bb9ab952b8d09a44d4c">More...</a><br /></td></tr>
<tr class="separator:gab44f514be6479bb9ab952b8d09a44d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga338addfe51bb7ca0ce734cbd4f3dec56"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga338addfe51bb7ca0ce734cbd4f3dec56"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__tbb.html#ga338addfe51bb7ca0ce734cbd4f3dec56">keep</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga338addfe51bb7ca0ce734cbd4f3dec56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate.  <a href="group__filter__pattern__tbb.html#ga338addfe51bb7ca0ce734cbd4f3dec56">More...</a><br /></td></tr>
<tr class="separator:ga338addfe51bb7ca0ce734cbd4f3dec56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84d14ffc342f83948122d221c26dc3eb"><td class="memTemplParams" colspan="2">template&lt;typename Generator , typename Predicate , typename Consumer &gt; </td></tr>
<tr class="memitem:ga84d14ffc342f83948122d221c26dc3eb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__filter__pattern__tbb.html#ga84d14ffc342f83948122d221c26dc3eb">discard</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, Generator generate_op, Predicate predicate_op, Consumer consume_op)</td></tr>
<tr class="memdesc:ga84d14ffc342f83948122d221c26dc3eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-filter.html">Filter pattern</a> pattern on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate.  <a href="group__filter__pattern__tbb.html#ga84d14ffc342f83948122d221c26dc3eb">More...</a><br /></td></tr>
<tr class="separator:ga84d14ffc342f83948122d221c26dc3eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae228666af0063fc94bcad0e28a2befb8"><td class="memTemplParams" colspan="2">template&lt;typename Identity , typename Generator , typename Combiner , typename Consumer &gt; </td></tr>
<tr class="memitem:gae228666af0063fc94bcad0e28a2befb8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stream__reduce__pattern__tbb.html#gae228666af0063fc94bcad0e28a2befb8">stream_reduce</a> (<a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;ex, int window_size, int offset, Identity identity, Generator &amp;&amp;generate_op, Combiner &amp;&amp;combine_op, Consumer consume_op)</td></tr>
<tr class="memdesc:gae228666af0063fc94bcad0e28a2befb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke <a class="el" href="md_stream-reduce.html">Stream reduction pattern</a> on a stream with TBB parallel execution.  <a href="group__stream__reduce__pattern__tbb.html#gae228666af0063fc94bcad0e28a2befb8">More...</a><br /></td></tr>
<tr class="separator:gae228666af0063fc94bcad0e28a2befb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section version"><dt>Version</dt><dd>GrPPI v0.2 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>Copyright (C) 2017 Universidad Carlos III de Madrid. All rights reserved.  GNU/GPL, see LICENSE.txt This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</dd></dl>
<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p>You have received a copy of the GNU General Public License in LICENSE.txt also available in <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>.</p>
<p>See COPYRIGHT.txt for copyright notices and details.</p>
<dl class="section version"><dt>Version</dt><dd>GrPPI v0.2 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>Copyright (C) 2017 Universidad Carlos III de Madrid. All rights reserved.  GNU/GPL, see LICENSE.txt This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your transform_option) any later version.</dd></dl>
<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p>You have received a copy of the GNU General Public License in LICENSE.txt also available in <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>.</p>
<p>See COPYRIGHT.txt for copyright notices and details. </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="aa953140c899760e8975a238af6f3443d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename F &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="namespacegrppi.html#aa953140c899760e8975a238af6f3443d">grppi::requires_arguments</a> = typedef typename std::enable_if_t&lt;<a class="el" href="namespacegrppi_1_1internal.html#a830d6dbae17c03ceb5baed4b1155dec7">internal::has_arguments</a>&lt;F&gt;(), int&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a010bbfca0375c837274a79494ea2162d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="namespacegrppi.html#a010bbfca0375c837274a79494ea2162d">grppi::requires_execution_policy</a> = typedef std::enable_if_t&lt;<a class="el" href="namespacegrppi.html#ab5283566cb0405275f53062a0b905634">is_execution_policy</a>&lt;E&gt;(), int&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Simulate concept requirement for being an execution policy. </p>

</div>
</div>
<a class="anchor" id="aecef6e7d3973be5c5678422b30dba5ce"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename F &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="namespacegrppi.html#aecef6e7d3973be5c5678422b30dba5ce">grppi::requires_no_arguments</a> = typedef typename std::enable_if_t&lt;!<a class="el" href="namespacegrppi_1_1internal.html#a830d6dbae17c03ceb5baed4b1155dec7">internal::has_arguments</a>&lt;F&gt;(), int&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a99d34f024fd79a1f2fb41ea9c780df2b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="namespacegrppi.html#a99d34f024fd79a1f2fb41ea9c780df2b">grppi::requires_not_execution_policy</a> = typedef std::enable_if_t&lt;!<a class="el" href="namespacegrppi.html#ab5283566cb0405275f53062a0b905634">is_execution_policy</a>&lt;E&gt;(), int&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Simulate concept requirement for not being an execution policy. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="aa0514650a765d4853343655e7588662b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacegrppi.html#aa0514650a765d4853343655e7588662b">grppi::queue_mode</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa0514650a765d4853343655e7588662bac6235a845472fa847daf07edbbf5fa18"></a>lockfree&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aa0514650a765d4853343655e7588662ba14343966a1d7dce7526e57cf2206d19d"></a>blocking&#160;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a6222cb3c656980019f3e0365a475f1be"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... InputIt&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::advance_iterators </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>delta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt &amp;...&#160;</td>
          <td class="paramname"><em>in</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Advance a pack of iterators by a delta. Every iterator in the parameter pack in is increased n steps. </p>

</div>
</div>
<a class="anchor" id="a9d500b81465422886fbbeb812a32c603"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... InputIt&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::advance_iterators </td>
          <td>(</td>
          <td class="paramtype">InputIt &amp;...&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Advance a pack of iterators by one unit. Every iterator in the parameter pack in is increased 1 step. </p>

</div>
</div>
<a class="anchor" id="a1ad0b5181e41c9753609463c63a093b1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Input , int Index, typename... MoreTransformers, internal::requires_index_last&lt; Index, MoreTransformers... &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::composed_pipeline </td>
          <td>(</td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, MoreTransformers... &gt; &amp;&#160;</td>
          <td class="paramname"><em>pipeline_obj</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a94f99f5b5ff245645e9fb5fdb9861182"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InQueue , typename OutQueue , int Index, typename... MoreTransformers, internal::requires_index_last&lt; Index, MoreTransformers... &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::composed_pipeline </td>
          <td>(</td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, MoreTransformers... &gt; &amp;&#160;</td>
          <td class="paramname"><em>pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutQueue &amp;&#160;</td>
          <td class="paramname"><em>output_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::thread &gt; &amp;&#160;</td>
          <td class="paramname"><em>tasks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2be133da07bb838c73395d1e97af2414"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InQueue , typename Transformer , typename OutQueue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::composed_pipeline </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutQueue &amp;&#160;</td>
          <td class="paramname"><em>output_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::thread &gt; &amp;&#160;</td>
          <td class="paramname"><em>tasks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a55a12c266e33671c6ce1bff00214ca58"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Predicate , typename Consumer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::discard_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9ca7d94271488c6d3d8d72d29b26137a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::discard_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adf781ed526c8ea5c8f9ee151b3f3c35d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::result_of&lt;Solver(Input)&gt;::type grppi::divide_conquer_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Divider &amp;&amp;&#160;</td>
          <td class="paramname"><em>divide_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Solver &amp;&amp;&#160;</td>
          <td class="paramname"><em>solve_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9e06b8ee1932788a5bc08deffbf49cad"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Input , typename Divider , typename Solver , typename Combiner , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::result_of&lt; Solver(Input)&gt;::type grppi::divide_conquer_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Divider &amp;&amp;&#160;</td>
          <td class="paramname"><em>divide_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Solver &amp;&amp;&#160;</td>
          <td class="paramname"><em>solve_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adbafcd799b426440ddd01cdffd5b282b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Consumer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::farm_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7968fc84a703186bd7241f85d77d4dfd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Transformer , typename Consumer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::farm_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acde4124856709270ebfbdfac355c5fd4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Transformer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::farm_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a59256c1d5cd59624122a20f3999674f3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Transformer , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::farm_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af95c447fa6f81e4c7b85a421a738c37d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Consumer , internal::requires_execution_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::farm_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a32d36dbd6375927e3b67a37a9f08c31d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::result_of&lt;Solver(Input)&gt;::type grppi::internal_divide_conquer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Divider &amp;&amp;&#160;</td>
          <td class="paramname"><em>divide_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Solver &amp;&amp;&#160;</td>
          <td class="paramname"><em>solve_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::atomic&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>num_threads</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae820a6fafaefa61ab6db56187630638a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::result_of&lt;Solver(Input)&gt;::type grppi::internal_divide_conquer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Divider &amp;&amp;&#160;</td>
          <td class="paramname"><em>divide_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Solver &amp;&amp;&#160;</td>
          <td class="paramname"><em>solve_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::atomic&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>num_threads</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a849386d8a650631c3fe4610d5b58a162"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Input , typename Divider , typename Solver , typename Combiner &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::result_of&lt;Solver(Input)&gt;::type grppi::internal_divide_conquer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Divider &amp;&amp;&#160;</td>
          <td class="paramname"><em>divide_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Solver &amp;&amp;&#160;</td>
          <td class="paramname"><em>solve_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::atomic&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>num_threads</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9cd83cb2cad44d4467f7138cd01c612d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::internal_map </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transf_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>elemperthr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>more_firsts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aacf1f2fb0dbf24e5025cb2c3591ea64a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::internal_stencil </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StencilTransformer&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Neighbourhood&#160;</td>
          <td class="paramname"><em>neighbour_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>elements_per_thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>other_firsts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab5283566cb0405275f53062a0b905634"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool grppi::is_execution_policy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Meta-function to determine if a type is an execution policy. </p>

</div>
</div>
<a class="anchor" id="a42fb74f9dece6623d7f01995d4adc5fe"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool grppi::is_parallel_execution_native </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Metafunction that determines if type E is <a class="el" href="classgrppi_1_1parallel__execution__native.html" title="Native parallel execution policy. This policy uses ISO C++ threads as implementation building block a...">parallel_execution_native</a>. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">Execution</td><td>policy type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a684f5603ca6c249c2014e73ef5939ea1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool grppi::is_parallel_execution_omp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Metafunction that determines if type E is <a class="el" href="classgrppi_1_1parallel__execution__omp.html" title="OpenMP parallel execution policy. ">parallel_execution_omp</a>. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">Execution</td><td>policy type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afb9c59d0d8356f37f2a09fafd6e70726"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool grppi::is_parallel_execution_tbb </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Metafunction that determines if type E is <a class="el" href="classgrppi_1_1parallel__execution__tbb.html" title="TBB parallel execution policy. ">parallel_execution_tbb</a>. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">Execution</td><td>policy type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3e049fdd071afc3726a0e9d866dfdc31"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool grppi::is_sequential_execution </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determine if a type is a sequential execution policy. </p>

</div>
</div>
<a class="anchor" id="a06dcb52b246f0cee715a28b123eeb1de"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool grppi::is_supported </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Metafunction that determines if type E is supported in the current build. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">Execution</td><td>policy type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac0641c069b2aebeee3b0ac9ddd6c97ea"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool <a class="el" href="namespacegrppi.html#a06dcb52b246f0cee715a28b123eeb1de">grppi::is_supported</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specialization stating that <a class="el" href="classgrppi_1_1parallel__execution__native.html" title="Native parallel execution policy. This policy uses ISO C++ threads as implementation building block a...">parallel_execution_native</a> is supported. </p>

</div>
</div>
<a class="anchor" id="a3f58c4870491adbdbe7c3fca83981f2a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool <a class="el" href="namespacegrppi.html#a06dcb52b246f0cee715a28b123eeb1de">grppi::is_supported</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specialization stating that <a class="el" href="classgrppi_1_1parallel__execution__omp.html" title="OpenMP parallel execution policy. ">parallel_execution_omp</a> is supported. This metafunction evaluates to false if GRPPI_OMP is enabled. </p>

</div>
</div>
<a class="anchor" id="a9a3a77a7ec35389029d4f5e35d03b5cf"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool <a class="el" href="namespacegrppi.html#a06dcb52b246f0cee715a28b123eeb1de">grppi::is_supported</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specialization stating that <a class="el" href="classgrppi_1_1parallel__execution__tbb.html" title="TBB parallel execution policy. ">parallel_execution_tbb</a> is supported. This metafunction evaluates to false if GRPPI_TBB is enabled. </p>

</div>
</div>
<a class="anchor" id="afa979cd5b2e2efbd7a7d752121b29ed0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool <a class="el" href="namespacegrppi.html#a06dcb52b246f0cee715a28b123eeb1de">grppi::is_supported</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac44f4204f1c1f4407d3037e78392ddc5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Predicate , typename Consumer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::keep_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2ba454c012bdf7eb35a2e39001e7b265"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::keep_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a63dea207552c8892fbe18aeb88cd0a68"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> grppi::make_polymorphic_execution </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create from other static policy with no arguments. </p><dl class="section return"><dt>Returns</dt><dd>A polymorphic execution containing an E object if E is supported </dd>
<dd>
An empty polymorphic execution otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ad225dd8196b0d9f9f46098debb03ce51"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename Transformer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::map_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a93f8fa813781c83d8a6290319eb4e7ac"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename Transformer , typename InputIt2 , typename... OtherInputIts&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::map_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt2&#160;</td>
          <td class="paramname"><em>first2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>more_firsts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a11dcf889a2ac8bcc1ee754a8bc4a3d21"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename Transformer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::map_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a282802c130f4ca94b54808169c9a3578"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename Transformer , typename InputIt2 , typename... OtherInputIts, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::map_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt2&#160;</td>
          <td class="paramname"><em>first2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>more_firsts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a35e5ec6d00b4f3f04271fdff566b4bb8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename Transformer , typename Identity , typename Combiner &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">Identity grppi::map_reduce_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Identity&#160;</td>
          <td class="paramname"><em>identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a917021a07a99e17147ba68f84a4e6456"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename InputIt , typename Transformer , typename Identity , typename Combiner , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">Identity grppi::map_reduce_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Identity&#160;</td>
          <td class="paramname"><em>identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abcd00f76d9fbf0d30d02a7073b5d56f2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InQueue , typename Consumer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1867295a11f762db08f42a78577ba17f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename Input &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a88af4ebfe0a5b5e35968df520794e928"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename... MoreTransformers, typename Input &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Transformer &gt; &amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4f9c160369563168490f1b0518573a4e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Item , typename Transformer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Item &amp;&amp;&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab9559a88f3ba8dc6fe319a5993f659bb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Item , typename Filter , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Item &amp;&amp;&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Filter &gt; &amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a80120696a932196383bab64ad367bd4a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Predicate , typename... MoreTransformers, typename Input &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Predicate &gt; &amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad9c5a29a695ea636eb3b7baf11c4e689"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Item &amp;&amp;&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>transf_filter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7d70a655af6c5f08c141bd8915c0b751"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Predicate , typename... MoreTransformers, typename Input &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Predicate &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab28f2b2ce8b48b496be7b1e4c2ae032f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Item &amp;&amp;&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;&#160;</td>
          <td class="paramname"><em>transf_farm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adba861084c275142a857dd59a8f41788"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Combiner, Identity &gt; &amp;&#160;</td>
          <td class="paramname"><em>reduction_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a71b686aaa5f43c7f83261597cedc06b1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Item &amp;&amp;&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_farm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a15d99c66e4fd1e36d6c681e73506279d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Combiner, Identity &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>reduction_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aafdd79389d86c8837428498b46a52a11"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InQueue , typename Consumer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac3bf180cf5da558513872ad8eeaa02bb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename... MoreTransformers, typename Input &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a04772271c21c3f5fca622645660e9ee9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Item , typename Transformer , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1sequential__execution.html">sequential_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Item &amp;&amp;&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a506a71d88034c9b70a1d79a8991267aa"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Predicate , typename... MoreTransformers, typename Input &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Input&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af99507760771ab5830910eb9a4e61043"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Combiner, Identity &gt; &amp;&#160;</td>
          <td class="paramname"><em>reduction_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6c58bb150d28594ae3d5790f09552d86"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4252dfa4ef269a4ef507e7e4ef2c687d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Combiner, Identity &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>reduction_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9cd1b360ded65ae3fcc68b5564045cb8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aab93eac9110547660f5e062e3bbbb7cb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa3e582508248a1fed3cad84b9878dd87"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afbb392c9c43ff1d8274fd8ac2988429f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>sgs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aeab99913eca2fdb81c153a697d9be850"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a66265bc88c8592a7bf16711836408be4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae326459dc1f3642123866fcb9528db66"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad018187669fd464e92ff324c948f7035"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9dee9011b27fceac579f74b9207a0815"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acfc41fddf351bd25243bdebd2d954797"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl_ordered </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Combiner, Identity &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>reduction_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a73e2c34e989166559e6e65b7a2bf100d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl_ordered </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1reduction__info.html">reduction_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Combiner, Identity &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>reduction_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8e1eb7737dc0d4ced3640a397248b9fd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl_ordered </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a822b77fb56702543c9bbabd19af0868b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl_ordered </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a403a75ca5102d8fc3f41874dec3f1ff1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl_unordered </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__omp.html">parallel_execution_omp</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>farm_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4a3adea4a352869567cc47b78cd96a46"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Transformer , typename InQueue , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_impl_unordered </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InQueue &amp;&#160;</td>
          <td class="paramname"><em>input_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1filter__info.html">filter_info</a>&lt; <a class="el" href="classgrppi_1_1parallel__execution__native.html">parallel_execution_native</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>filter_obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MoreTransformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>more_transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8ae58a61669efcee90f6b995258bf830"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename... Transformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformers &amp;&amp;&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2da11fbc7e93ba3e8ec3f579ae25ace8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename... Transformers, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::pipeline_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Transformers &amp;&amp;...&#160;</td>
          <td class="paramname"><em>transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a93f799b28b5b9f378bc9f9d9dabfeb34"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename Identity , typename Combiner &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::reduce_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Identity&#160;</td>
          <td class="paramname"><em>identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> -&gt; decltype(combine_op(*first,*first))
</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4139b464f86c1f881390514be7217c79"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename InputIt , typename Identity , typename Combiner , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">auto grppi::reduce_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Identity&#160;</td>
          <td class="paramname"><em>identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6bc1e38031572ec5b38211015de15573"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Predicate , typename Consumer , typename Transformer &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5987b4c0ea0a73f97f62241d907ad7ac"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Transformer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab4769139291f3fd92e3f0d9ff9f4b2f4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Transformer , internal::requires_execution_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1farm__info.html">farm_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, Transformer &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae69924a3b586b0e345aa27d01b147e5e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, MoreTransformers... &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a107a7dff5d00c3078623ef076c752398"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt; <a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a>, MoreTransformers... &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aafcf4b317d947cae54744ad0b8ff06dd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Generator , typename Predicate , typename Consumer , typename Operation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Operation &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a31e228b475cea697232de889f0d3b5d8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Operation , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::repeat_until_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Operation &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Predicate &amp;&amp;&#160;</td>
          <td class="paramname"><em>predicate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0b60eeb44e66da9219f2d83edaa1e2b1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stencil_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1parallel__execution__tbb.html">parallel_execution_tbb</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>elements_per_thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StencilTransformer&#160;</td>
          <td class="paramname"><em>transform_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Neighbourhood&#160;</td>
          <td class="paramname"><em>neighbour_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>other_firsts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad385aa94e1a19231f4c44d42ccd021f1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stencil_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StencilTransformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Neighbourhood &amp;&amp;&#160;</td>
          <td class="paramname"><em>neighbor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0cfb3be86dd0fe3a8f8fa29bb214ad36"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stencil_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StencilTransformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Neighbourhood &amp;&amp;&#160;</td>
          <td class="paramname"><em>neighbor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>other_its</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1cf8e41c6b3cb070a3c697089db2e0a5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stencil_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StencilTransformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Neighbourhood &amp;&amp;&#160;</td>
          <td class="paramname"><em>neighbor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ada448479948ba373bbfd93304c072814"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts, internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stencil_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIt&#160;</td>
          <td class="paramname"><em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OutputIt&#160;</td>
          <td class="paramname"><em>first_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StencilTransformer &amp;&amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Neighbourhood &amp;&amp;&#160;</td>
          <td class="paramname"><em>neighbor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">OtherInputIts...&#160;</td>
          <td class="paramname"><em>other_its</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac2a7bcd673723813fdad9c8f0b8729f3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Identity , typename Combiner , typename Consumer , typename Generator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stream_reduce_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>window_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Identity&#160;</td>
          <td class="paramname"><em>identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>generate_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>combine_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>consume_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a218d5b3dcad7d711548dfb53be22717f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename E , typename... O, typename Identity , typename Generator , typename Combiner , typename Consumer , internal::requires_execution_not_supported&lt; E &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void grppi::stream_reduce_multi_impl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgrppi_1_1polymorphic__execution.html">polymorphic_execution</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>windowsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Identity&#160;</td>
          <td class="paramname"><em>identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Generator &amp;&amp;&#160;</td>
          <td class="paramname"><em>gen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Combiner &amp;&amp;&#160;</td>
          <td class="paramname"><em>comb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Consumer &amp;&amp;&#160;</td>
          <td class="paramname"><em>cons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2197abd01922f923f3794f2c635b1a68"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Execution , typename Transformer , typename... MoreTransformers, requires_arguments&lt; Transformer &gt;  = 0&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgrppi_1_1pipeline__info.html">pipeline_info</a>&lt;Execution,Transformer,MoreTransformers...&gt; grppi::transform_pipeline </td>
          <td>(</td>
          <td class="paramtype">Execution &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::tuple&lt; Transformer, MoreTransformers... &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>transform_ops</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
